Hi all,

FYI and for our own reference we've found what appears to be a very specific DTMF bug with R11.1.3 and J1xx phones (it doesn't affect 9608 phones). Here's the rundown:

A call that is placed which has an immediate shortcode match results in the IPO telling the J1xx phones to use RFC2833 for DTMF. In this example the phone uses it's redial button to place a call:
Code
2024-04-04T17:41:01   56533469mS CMExtnEvt:    v=0 State, new=Dialling  old=Idle,0,0,80102 AtcomJ1xx
2024-04-04T17:41:01   56533469mS CMTARGET:     0a0597eb30024522 866.805455138.0 17731 80102 AtcomJ1xx.0: LOOKUP CALL ROUTE: GID=0 type=100 called_party=9055551234 sub= calling=8010229 calling_sub= dir=out complete=1 ses=0
2024-04-04T17:41:01   56533469mS CMTARGET:     0a0597eb30024522 866.805455138.0 17731 80102 AtcomJ1xx.0: ADD TARGET (N): number=9058299444 type=100 depth=1 nobar=1 setorig=1 ses=0
2024-04-04T17:41:01   56533470mS CMTARGET:     0a0597eb30024522 866.805455138.0 17731 80102 AtcomJ1xx.0: DEF SC: 9055551234 0  sc=type=Dial code=?, num=.s15875551234
2024-04-04T17:41:01   56533470mS CMTARGET:     0a0597eb30024522 866.805455138.0 17731 80102 AtcomJ1xx.0: INITIAL TARGETING SUCCEEDED
2024-04-04T17:41:01   56533470mS CMTARGET:     0a0597eb30024522 866.805455138.0 17731 80102 AtcomJ1xx.0: GetNoAnswerTimer:20
2024-04-04T17:41:01   56533470mS CMExtnEvt:    v=0 State, new=Proceeding  old=Dialling,0,0,80102 AtcomJ1xx

First, the IPO placed the call over the SIP trunk. It then sends an INVITE to the J1xx phone (I know, this seems backwards but it's how CCMS signaling seems to work)
Code
2024-04-04T17:41:01   56533757mS SIP Tx: TLS 10.0.0.1:5061 -> 10.0.0.2:5429
                    INVITE sip:[email protected]:5429;transport=tls SIP/2.0
                    v: SIP/2.0/TLS 10.0.0.1:5061;rport;branch=z9hG4bKe81d753a9840e4a9997cda7d166df659
                    f: <sip:[email protected]>;tag=5a4531af994bfd80
                    t: <sip:[email protected]>;tag=660e61bc532561211k6s6l6u1g3kd4n1n415573_F8010229
                    i: 1_660e61bc-4833d3c75u26o3h2h56q331zi4w1u_I8010229
                    CSeq: 574 INVITE
                    m: <sip:[email protected]:5061;transport=tls>
                    Max-Forwards: 70
                    Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,INFO,REFER,NOTIFY,SUBSCRIBE,REGISTER,PUBLISH,UPDATE
                    User-Agent: IP Office 11.1.3.1.0 build 34
                    c: application/sdp
                    l: 203
                    
                    v=0
                    o=UserA 1563834215 396372004 IN IP4 10.0.0.1
                    s=Session SDP
                    c=IN IP4 10.0.0.1
                    t=0 0
                    m=audio 50700 RTP/AVP 0 101
                    a=rtpmap:0 PCMU/8000
                    a=rtpmap:101 telephone-event/8000
                    a=fmtp:101 0-15

You can see that RFC2833 is specified with the line "a=rtpmap:101 telephone-event/8000"


Now a call to a 10 digit number where there is no specific shortcode match and we have to wait for the 4 second timeout:
Code
2024-04-04T17:40:40   56511104mS CMExtnEvt:    v=(null) State, new=Idle  old=Idle,0,0,8010229: Digit Key Pressed 4
2024-04-04T17:40:40   56511105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: Setting Hard Timer 4000
2024-04-04T17:40:40   56511105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: LOOKUP CALL ROUTE: GID=0 type=100 called_party=9055551234 sub= calling=8010229 calling_sub= dir=out complete=0 ses=0
2024-04-04T17:40:40   56511105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: ADD TARGET (N): number=90555512344 type=100 depth=1 nobar=1 setorig=1 ses=0

(4 seconds later)
2024-04-04T17:40:43   56515105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: TimerExpired cause=CMTCDelayedProcessing
2024-04-04T17:40:43   56515105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: LOOKUP CALL ROUTE: GID=0 type=100 called_party=9055551234 sub= calling=8010229 calling_sub= dir=out complete=1 ses=0
2024-04-04T17:40:43   56515105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: ADD TARGET (N): number=9055551234 type=100 depth=1 nobar=1 setorig=1 ses=0
2024-04-04T17:40:43   56515105mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: DEF SC: 9055551234 0  sc=type=Dial code=?, num=.s15875551234
2024-04-04T17:40:43   56515106mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: INITIAL TARGETING SUCCEEDED
2024-04-04T17:40:43   56515106mS CMTARGET:     0a0597eb30024509 866.805455113.0 17724 80102 AtcomJ1xx.0: GetNoAnswerTimer:20
2024-04-04T17:40:43   56515106mS CMExtnEvt:    v=0 State, new=Proceeding  old=Dialling,0,0,80102 AtcomJ1xx

This time the IPO starts with an INVITE to the J1xx phone but is missing the rFC2833 line and therefore we would expect Inband DTMF.
Code
2024-04-04T17:40:43   56515106mS SIP Tx: TLS 10.0.0.1:5061 -> 10.0.0.2:5429
                    INVITE sip:[email protected]:5429;transport=tls SIP/2.0
                    v: SIP/2.0/TLS 10.0.0.1:5061;rport;branch=z9hG4bK4f167ffffdfbb2dd55f6bc0679c87cea
                    f: <sip:[email protected]>;tag=5a4531af994bfd80
                    t: <sip:[email protected]>;tag=660e61bc532561211k6s6l6u1g3kd4n1n415573_F8010229
                    i: 1_660e61bc-4833d3c75u26o3h2h56q331zi4w1u_I8010229
                    CSeq: 562 INVITE
                    m: <sip:[email protected]:5061;transport=tls>
                    Max-Forwards: 70
                    Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,INFO,REFER,NOTIFY,SUBSCRIBE,REGISTER,PUBLISH,UPDATE
                    User-Agent: IP Office 11.1.3.1.0 build 34
                    c: application/sdp
                    l: 121
                    
                    v=0
                    o=UserA 1563834215 396372001 IN IP4 10.0.0.1
                    s=Session SDP
                    c=IN IP4 10.0.0.1
                    t=0 0
                    m=audio 0 RTP/AVP 0

The IPO then places the call over the SIP trunk and specifies RFC2833.

Shortly afterward, the J1xx responds with a 200 OK that does not contain the RFC2833 line.

A capture of the RTP packets from the J1xx to the IPO proves the DTMF is missing in both methods - RFC2833 and Inband.

Last edited by Toner; 04/05/24 12:02 PM.

[Linked Image from web.atcomsystems.ca]
Looking for a VoIP Phone Canada provider? Put Atcom's valuable VoIP expertise to work for your business today!