[asterisk-bugs] [Asterisk 0016664]: [patch] Random DTMF duplicate emulation on bridged OOH323 channel on outgoing calls

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Mar 2 13:53:02 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16664 
====================================================================== 
Reported By:                vmikhelson
Assigned To:                may213
====================================================================== 
Project:                    Asterisk
Issue ID:                   16664
Category:                   Addons/chan_ooh323
Reproducibility:            random
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.6.0.20 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-01-21 00:44 CST
Last Modified:              2010-03-02 13:53 CST
====================================================================== 
Summary:                    [patch] Random DTMF duplicate emulation on bridged
OOH323 channel on outgoing calls
Description: 
In majority of cases DTMF tones are duplicated by Asterisk when bridging a
SIP or DAHDI channel with OOH323 channel on outgoing calls.

In case of a normal DTMF processing the following sequence is observed:

[Jan 20 19:59:56] DTMF[21084]: channel.c:2855 __ast_read: DTMF begin '9'
received on SIP/464-00000012
[Jan 20 19:59:56] DTMF[21084]: channel.c:2865 __ast_read: DTMF begin
passthrough '9' on SIP/464-00000012
[Jan 20 19:59:56] DTMF[21084]: channel.c:2783 __ast_read: DTMF end '9'
received on SIP/464-00000012, duration 120 ms
[Jan 20 19:59:56] DTMF[21084]: channel.c:2823 __ast_read: DTMF end
accepted with begin '9' on SIP/464-00000012
[Jan 20 19:59:56] DTMF[21084]: channel.c:2839 __ast_read: DTMF end
passthrough '9' on SIP/464-00000012

In case of a problematic DTMF processing it looks like that:

[Jan 20 19:18:54] DTMF[20916]: channel.c:2855 __ast_read: DTMF begin '9'
received on SIP/464-00000011
[Jan 20 19:18:54] DTMF[20916]: channel.c:2865 __ast_read: DTMF begin
passthrough '9' on SIP/464-00000011
[Jan 20 19:18:54] DTMF[20916]: channel.c:2783 __ast_read: DTMF end '9'
received on OOH323/172.17.135.2:1720-9915, duration 0 ms
[Jan 20 19:18:54] DTMF[20916]: channel.c:2809 __ast_read: DTMF begin
emulation of '9' with duration 100 queued on OOH323/172.17.135.2:1720-9915
[Jan 20 19:18:54] WARNING[20916]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_21
[Jan 20 19:18:54] WARNING[20916]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_21
[Jan 20 19:18:54] DTMF[20916]: channel.c:2932 __ast_read: DTMF end
emulation of '9' queued on OOH323/172.17.135.2:1720-9915
[Jan 20 19:18:54] WARNING[20916]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_21
[Jan 20 19:18:54] DTMF[20916]: channel.c:2783 __ast_read: DTMF end '9'
received on SIP/464-00000011, duration 120 ms
[Jan 20 19:18:54] DTMF[20916]: channel.c:2823 __ast_read: DTMF end
accepted with begin '9' on SIP/464-00000011
[Jan 20 19:18:54] DTMF[20916]: channel.c:2839 __ast_read: DTMF end
passthrough '9' on SIP/464-00000011
[Jan 20 19:18:55] WARNING[20916]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_21

====================================================================== 

---------------------------------------------------------------------- 
 (0118773) vmikhelson (reporter) - 2010-03-02 13:53
 https://issues.asterisk.org/view.php?id=16664#c118773 
---------------------------------------------------------------------- 
Here is another CLI output with "ooh323 set debug" DTMF sequence "*7" was
dialing after the connection was established.

Asterisk upgraded to 1.6.0.25. Asterisk-addons upgraded to 1.6.0.4.

    -- Executing [1**352 at from-internal:1] Macro("SIP/462-0000000c",
"user-callerid,SKIPTTL,") in new stack
    -- Executing [s at macro-user-callerid:1] Set("SIP/462-0000000c",
"AMPUSER=462") in new stack
    -- Executing [s at macro-user-callerid:2] GotoIf("SIP/462-0000000c",
"0?report") in new stack
    -- Executing [s at macro-user-callerid:3] ExecIf("SIP/462-0000000c",
"1?Set(REALCALLERIDNUM=462)") in new stack
    -- Executing [s at macro-user-callerid:4] Set("SIP/462-0000000c",
"AMPUSER=462") in new stack
    -- Executing [s at macro-user-callerid:5] Set("SIP/462-0000000c",
"AMPUSERCIDNAME=Vladimir -- HCI Office") in new stack
    -- Executing [s at macro-user-callerid:6] GotoIf("SIP/462-0000000c",
"0?report") in new stack
    -- Executing [s at macro-user-callerid:7] Set("SIP/462-0000000c",
"AMPUSERCID=462") in new stack
    -- Executing [s at macro-user-callerid:8] Set("SIP/462-0000000c",
"CALLERID(all)="Vladimir -- HCI Office" <462>") in new stack
    -- Executing [s at macro-user-callerid:9] ExecIf("SIP/462-0000000c",
"0?Set(CHANNEL(language)=)") in new stack
    -- Executing [s at macro-user-callerid:10] GotoIf("SIP/462-0000000c",
"1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s at macro-user-callerid:19] NoOp("SIP/462-0000000c",
"Using CallerID "Vladimir -- HCI Office" <462>") in new stack
    -- Executing [1**352 at from-internal:2] Set("SIP/462-0000000c",
"INTRACOMPANYROUTE=YES") in new stack
    -- Executing [1**352 at from-internal:3] Set("SIP/462-0000000c",
"_NODEST=") in new stack
    -- Executing [1**352 at from-internal:4] Macro("SIP/462-0000000c",
"record-enable,462,OUT,") in new stack
    -- Executing [s at macro-record-enable:1] GotoIf("SIP/462-0000000c",
"1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s at macro-record-enable:4] ExecIf("SIP/462-0000000c",
"0?MacroExit()") in new stack
    -- Executing [s at macro-record-enable:5] GotoIf("SIP/462-0000000c",
"0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,16)
    -- Executing [s at macro-record-enable:16] GotoIf("SIP/462-0000000c",
"0?IN") in new stack
    -- Executing [s at macro-record-enable:17] ExecIf("SIP/462-0000000c",
"1?MacroExit()") in new stack
    -- Executing [1**352 at from-internal:5] Macro("SIP/462-0000000c",
"dialout-trunk,13,*352,,") in new stack
    -- Executing [s at macro-dialout-trunk:1] Set("SIP/462-0000000c",
"DIAL_TRUNK=13") in new stack
    -- Executing [s at macro-dialout-trunk:2] GosubIf("SIP/462-0000000c",
"0?sub-pincheck,s,1") in new stack
    -- Executing [s at macro-dialout-trunk:3] GotoIf("SIP/462-0000000c",
"0?disabletrunk,1") in new stack
    -- Executing [s at macro-dialout-trunk:4] Set("SIP/462-0000000c",
"DIAL_NUMBER=*352") in new stack
    -- Executing [s at macro-dialout-trunk:5] Set("SIP/462-0000000c",
"DIAL_TRUNK_OPTIONS=tr") in new stack
    -- Executing [s at macro-dialout-trunk:6] Set("SIP/462-0000000c",
"OUTBOUND_GROUP=OUT_13") in new stack
    -- Executing [s at macro-dialout-trunk:7] GotoIf("SIP/462-0000000c",
"0?nomax") in new stack
    -- Executing [s at macro-dialout-trunk:8] GotoIf("SIP/462-0000000c",
"0?chanfull") in new stack
    -- Executing [s at macro-dialout-trunk:9] GotoIf("SIP/462-0000000c",
"1?skipoutcid") in new stack
    -- Goto (macro-dialout-trunk,s,12)
    -- Executing [s at macro-dialout-trunk:12] ExecIf("SIP/462-0000000c",
"1?AGI(fixlocalprefix)") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- <SIP/462-0000000c>AGI Script fixlocalprefix completed, returning 0
    -- Executing [s at macro-dialout-trunk:13] Set("SIP/462-0000000c",
"OUTNUM=*352") in new stack
    -- Executing [s at macro-dialout-trunk:14] Set("SIP/462-0000000c",
"custom=AMP") in new stack
    -- Executing [s at macro-dialout-trunk:15] ExecIf("SIP/462-0000000c",
"0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^)tr)") in new stack
    -- Executing [s at macro-dialout-trunk:16] Macro("SIP/462-0000000c",
"dialout-trunk-predial-hook,") in new stack
    -- Executing [s at macro-dialout-trunk-predial-hook:1]
MacroExit("SIP/462-0000000c", "") in new stack
    -- Executing [s at macro-dialout-trunk:17] GotoIf("SIP/462-0000000c",
"0?bypass,1") in new stack
    -- Executing [s at macro-dialout-trunk:18] GotoIf("SIP/462-0000000c",
"1?customtrunk") in new stack
    -- Goto (macro-dialout-trunk,s,22)
    -- Executing [s at macro-dialout-trunk:22] Set("SIP/462-0000000c",
"pre_num=AMP:OOH323/") in new stack
    -- Executing [s at macro-dialout-trunk:23] Set("SIP/462-0000000c",
"the_num=OUTNUM") in new stack
    -- Executing [s at macro-dialout-trunk:24] Set("SIP/462-0000000c",
"post_num=/avaya") in new stack
    -- Executing [s at macro-dialout-trunk:25] GotoIf("SIP/462-0000000c",
"1?outnum:skipoutnum") in new stack
    -- Goto (macro-dialout-trunk,s,26)
    -- Executing [s at macro-dialout-trunk:26] Set("SIP/462-0000000c",
"the_num=*352") in new stack
    -- Executing [s at macro-dialout-trunk:27] Dial("SIP/462-0000000c",
"OOH323/*352/avaya,300,tr") in new stack
---   ooh323_request - data *352/avaya format 0x4 (ulaw)
---   ooh323_alloc
+++   ooh323_alloc
---   find_peer "avaya"
      comparing with "172.17.135.2"
      found matching peer
+++   find_peer "avaya"
---   ooh323_new - avaya
+++   h323_new
+++   ooh323_request
---   ooh323_call- *352/avaya
---   onNewCallCreated ooh323c_o_10
---   find_call
+++   find_call
+++   ooh323_call
    -- Called *352/avaya
setting callid number 462
 Outgoing call avaya(ooh323c_o_10) - Codec prefs - (ulaw)
        Adding capabilities to call(outgoing, ooh323c_o_10)
        Adding g711 ulaw capability to call(outgoing, ooh323c_o_10)
---   configure_local_rtp
+++   configure_local_rtp
+++   onNewCallCreated ooh323c_o_10
---   setup_rtp_connection
---   find_call
+++   find_call
+++   setup_rtp_connection
--- onAlerting ooh323c_o_10
---   find_call
+++   find_call
+++ onAlerting ooh323c_o_10
    -- OOH323/avaya-127b is ringing
---   onCallEstablished ooh323c_o_10
---   find_call
+++   find_call
    -- OOH323/avaya-127b answered SIP/462-0000000c
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:46:59] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
+++   onCallEstablished ooh323c_o_10
[Mar  2 13:47:04] DTMF[10429]: channel.c:2856 __ast_read: DTMF begin '*'
received on SIP/462-0000000c
[Mar  2 13:47:04] DTMF[10429]: channel.c:2866 __ast_read: DTMF begin
passthrough '*' on SIP/462-0000000c
---   ooh323_digit_begin
+++   ooh323_digit_begin
---   find_call
+++   find_call
[Mar  2 13:47:04] DTMF[10429]: channel.c:2784 __ast_read: DTMF end '*'
received on OOH323/avaya-127b, duration 0 ms
[Mar  2 13:47:04] DTMF[10429]: channel.c:2810 __ast_read: DTMF begin
emulation of '*' with duration 100 queued on OOH323/avaya-127b
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:04] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:04] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
[Mar  2 13:47:04] DTMF[10429]: channel.c:2933 __ast_read: DTMF end
emulation of '*' queued on OOH323/avaya-127b
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:04] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:04] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
[Mar  2 13:47:04] DTMF[10429]: channel.c:2784 __ast_read: DTMF end '*'
received on SIP/462-0000000c, duration 300 ms
[Mar  2 13:47:04] DTMF[10429]: channel.c:2824 __ast_read: DTMF end
accepted with begin '*' on SIP/462-0000000c
[Mar  2 13:47:04] DTMF[10429]: channel.c:2840 __ast_read: DTMF end
passthrough '*' on SIP/462-0000000c
---   ooh323_digit_end
+++   ooh323_digit_end
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:05] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:05] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
[Mar  2 13:47:10] DTMF[10429]: channel.c:2856 __ast_read: DTMF begin '7'
received on SIP/462-0000000c
[Mar  2 13:47:10] DTMF[10429]: channel.c:2866 __ast_read: DTMF begin
passthrough '7' on SIP/462-0000000c
---   ooh323_digit_begin
+++   ooh323_digit_begin
---   find_call
+++   find_call
[Mar  2 13:47:10] DTMF[10429]: channel.c:2784 __ast_read: DTMF end '7'
received on OOH323/avaya-127b, duration 0 ms
[Mar  2 13:47:10] DTMF[10429]: channel.c:2810 __ast_read: DTMF begin
emulation of '7' with duration 100 queued on OOH323/avaya-127b
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:10] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:10] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
[Mar  2 13:47:10] DTMF[10429]: channel.c:2933 __ast_read: DTMF end
emulation of '7' queued on OOH323/avaya-127b
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:10] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
[Mar  2 13:47:10] DTMF[10429]: channel.c:2784 __ast_read: DTMF end '7'
received on SIP/462-0000000c, duration 300 ms
[Mar  2 13:47:10] DTMF[10429]: channel.c:2824 __ast_read: DTMF end
accepted with begin '7' on SIP/462-0000000c
[Mar  2 13:47:10] DTMF[10429]: channel.c:2840 __ast_read: DTMF end
passthrough '7' on SIP/462-0000000c
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:10] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
----- ooh323_indicate 20 on call ooh323c_o_10
[Mar  2 13:47:34] WARNING[10429]: chan_ooh323.c:1054 ooh323_indicate:
Don't know how to indicate condition 20 on ooh323c_o_10
++++  ooh323_indicate 20 on ooh323c_o_10
    -- Executing [h at macro-dialout-trunk:1] Macro("SIP/462-0000000c",
"hangupcall,") in new stack
    -- Executing [s at macro-hangupcall:1] GotoIf("SIP/462-0000000c",
"1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,4)
    -- Executing [s at macro-hangupcall:4] GotoIf("SIP/462-0000000c",
"1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s at macro-hangupcall:7] GotoIf("SIP/462-0000000c",
"1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s at macro-hangupcall:9] Hangup("SIP/462-0000000c", "") in
new stack
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on
'SIP/462-0000000c' in macro 'hangupcall'
---   ooh323_hangup
    hanging avaya
+++   ooh323_hangup
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on
'SIP/462-0000000c' in macro 'dialout-trunk'
  == Spawn extension (from-internal, 1**352, 5) exited non-zero on
'SIP/462-0000000c'
---   close_rtp_connection
---   find_call
+++   find_call
+++   close_rtp_connection
---   onCallCleared ooh323c_o_10
---   find_call
+++   find_call
+++   onCallCleared
---   ooh323_destroy
 Destroying avaya
+++   ooh323_destroy 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-03-02 13:53 vmikhelson     Note Added: 0118773                          
======================================================================




More information about the asterisk-bugs mailing list