summaryrefslogtreecommitdiff
path: root/channels/chan_vpb.c
diff options
context:
space:
mode:
authorBen Kramer <bkramer@voicetronix.com.au>2004-10-06 10:54:58 +0000
committerBen Kramer <bkramer@voicetronix.com.au>2004-10-06 10:54:58 +0000
commit415d197da18b6cecc1a2b26474054606a512833a (patch)
tree9577093e1cf8afa6f3d62ed5406eea747b162a44 /channels/chan_vpb.c
parentf3e54a41dacb11bbc8ef15fa8f6f5354d841a878 (diff)
changed it to not play a received DTMF frame if native bridged!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_vpb.c')
-rwxr-xr-xchannels/chan_vpb.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/channels/chan_vpb.c b/channels/chan_vpb.c
index 84f4f651a..be9623abb 100755
--- a/channels/chan_vpb.c
+++ b/channels/chan_vpb.c
@@ -550,14 +550,8 @@ static inline int monitor_handle_owned(struct vpb_pvt *p, VPB_EVENT *e)
case VPB_DTMF:
if (p->owner->_state == AST_STATE_UP) {
- if ((strcmp(p->owner->type,"vpb"))||(e->data == '#')||(e->data == '*')){
f.frametype = AST_FRAME_DTMF;
f.subclass = e->data;
- }
- else {
- if (option_verbose > 3)
- ast_verbose(VERBOSE_PREFIX_4 "%s: handle_owned: Not transmiting DTMF frame on native bridge\n", p->dev);
- }
} else
f.frametype = -1;
break;
@@ -1835,9 +1829,15 @@ static void *do_chanreads(void *pvt)
// This DTMF is played by asterisk and leads to an annoying trailing beep on CISCO phones
if( !ignore_dtmf)
vpb_set_event_mask(p->handle, VPB_EVENTS_NODTMF );
- vpb_dial_sync(p->handle,p->play_dtmf);
- if(option_verbose>1)
- ast_verbose( VERBOSE_PREFIX_2 "%s: Played DTMF %s\n",p->dev,p->play_dtmf);
+ if (strcmp(p->owner->type,"vpb")){
+ vpb_dial_sync(p->handle,p->play_dtmf);
+ if(option_verbose>1)
+ ast_verbose( VERBOSE_PREFIX_2 "%s: chanreads: Played DTMF %s\n",p->dev,p->play_dtmf);
+ }
+ else {
+ if (option_verbose > 1)
+ ast_verbose(VERBOSE_PREFIX_2 "%s: chanreads: Not playing DTMF frame on native bridge\n", p->dev);
+ }
p->play_dtmf[0] = '\0';
ast_mutex_unlock(&p->play_dtmf_lock);
vpb_sleep(700); // Long enough to miss echo and DTMF event