[SIP Beyond VoIP] Debugging DTMF for conference bridge app
Jason Ostrom
jpo at pobox.com
Wed Dec 25 18:41:55 CET 2013
Hi Saúl,
Hope everyone on the list and you are having Merry Christmas or Happy Holidays.
Rather than try to verify the observer add correctly, I just started with troubleshooting why the 'sip-session' sample sipclients app is not receiving the DTMF with SIP Simple 1.0.0 code running on Debian Wheezy x64 using apt-get from repos.
I tried doing the debug / trace you mention below. Here is what I found:
With --trace-notifications:
When I dial into conference bridge and hit DTMF from another phone, nothing prints to stdout. In the line in the code, this line should be printing a notice, to either stdout or wherever logging is happening: " send_notice('Got DMTF %s' % notification.data.digit)"
Question: Does logging by default go to stdout or to a logfile? There is a chance I'm not seeing anything on stdout because logging is going to a file that I don't know where yet.
With PJSIP logging (--trace-pjsip):
Very interesting, I'm getting messages to stdout that indicate bad RTP. Every DTMF dialed gets a lot of stdout messages, exactly like this with bad pointer? Look at this:
(5) 2013-12-25 17:38:00.201 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.201 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.201 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.201 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.204 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.204 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.220 strm0x40559c8 Jitter buffer empty (prefetch=0), plc invoked
(5) 2013-12-25 17:38:00.225 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.225 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.244 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.244 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.265 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.265 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.285 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.285 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.304 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.304 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.324 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.324 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.344 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.344 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.361 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.361 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.361 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.361 strm0x40559c8 Bad RTP pt 101 (expecting 0)
(5) 2013-12-25 17:38:00.361 strm0x40559c8 RTP status: badpt=-1, badssrc=0, dup=0, outorder=0, probation=0, restart=0
(4) 2013-12-25 17:38:00.361 strm0x40559c8 Bad RTP pt 101 (expecting 0)
How should I proceed further in trying to resolve this? Looks like a bug with PJSIP or something like that? Please help.
On Dec 23, 2013, at 2:14 AM, Saúl Ibarra Corretgé <saul at ag-projects.com> wrote:
> Hi,
>
> On Dec 21, 2013, at 7:09 PM, Jason Ostrom <jpo at pobox.com> wrote:
>
>> I have done the following in order to have SIP Simple print out the DTMF, and it is still not working.
>>
>> 1. Ported code from sip-session sample sipclients for DTMF receiving into other python script. The code is listening for notification from the audio stream just as sip-session does.
>>
>
> How did you add the observer?
>
>> 2. Verified that the DTMF is being received as RFC 2833 and it is broadcasted by Asterisk. Ran a wireshark trace and all digits are being received on host running sip simple SDK apps.
>>
>> Problem is SIP Simple code is not able to detect DTMF, or at least my implementation.
>>
>> Question: How do I get the "sip-session" sample application to receive DTMF and print out each DTMF digit to stdout? Does it do this by default? How do I debug / print each RTP packet, because DTMF in RTP Payload is not detected? I am trying to troubleshoot it, if I can just get sip-session to print each DTMF digit that is broadcasted by another conference user, then I can get the 'sip-session' DTMF receiving code working in the other python script. Both scripts are successfully dialing into conference. Other conference user inputs DTMF, and I can see Asterisk broadcasting, but nothing on receiving scripts. Please let me know if any ideas.
>>
>
> You can enable notifications trace (see sip-session -h) and all notifications will be either dumped to a file or printed to stdout. You should see if DTMF is detected notifications getting fired. If it isn't detected, then you'd need to dig deeper and enable the PJSIP logs.
>
>
> Regards,
>
> --
> Saúl Ibarra Corretgé
> AG Projects
>
>
>
More information about the SIPBeyondVoIP
mailing list