Bill, Thank you very very much for your help, you really got me out of a starting depression xD Everything works out now, so I suppose that all my problems where due to maxing out the CPU, although I had the top command running, it never showed 100% CPU ussage. I can now make calls within my LAN, with that I can get on with my masters thesis. You have my gratitude, David On 2015-03-05 18:33, Bill Gardner wrote: > Hi David, > > The call in the log you sent is using speex 16 kHz codec, which will > use lots more CPU than PCM. Although you started the RPI with > --add-codec=PCMU, the INVITE is coming from ubuntu and it lists speex > 16k first. You can disable speex codec on either endpoint or start > ubuntu endpoint with --add-codec=PCMU which will then put PCMU first > in SDP in INVITE. > > Another point is that the resampler is high quality: > > > 15:53:20.267 resample.c .....resample created: high qualiy, large > filter, in/out rate=16000/48000 > 15:53:20.267 resample.c .....resample created: high qualiy, large > filter, in/out rate=48000/16000 > > You can change this to use faster lower quality filter in > site_config.h and rebuild, > I can't remember the precise macro but it's easy to find. > > Regards, > > Bill > > > On 3/5/15 11:01 AM, David Desopper wrote: >> Bill, >> >> First of all, thanks again for your help and trouble. >> >> I used the following command to start a pjsua instance on my RPI: >> ./pjsua-armv6l-unknown-linux-gnueabihf --no-vad --clock-rate=48000 >> --capture-dev=1 --playback-dev=3 --ec-tail=0 --add-codec=PCMU >> --log-file=log.txt >> >> As you see, I use diffrent devices as before to exclude the >> possibility that the problem has something to do with my sound >> device. I need to set the clock rate to 48000 or else I get an error >> in opening my sound devices. >> >> I also opened an instance of pjsua on my laptop with an Ubuntu 14.04 >> OS. From there I initialized a call using the ip adress of my RPI, so >> normally I stay local all the time. The log file from my RPI is >> included in attachment of this mail. >> >> This time a heard a very short burst of audio when the call was >> initially connected. But after that, I noticed the buffer message >> copied in my previous mail. When I hung up the call, the sound device >> closed correctly, but when issuing the "q" command to close PJSUA on >> my PI, the program hung, I had to kill the process. >> >> So now I'm thinking that something is going terribly wrong when the >> media packets are being processed, could this be because I set the >> clock-rate at 48k? >> >> Regards, >> David >> >> On 2015-03-05 16:19, Bill Gardner wrote: >>> Hi David, >>> >>> Those master sound underruns indicate your processor is not able to >>> keep up with media flow. But I don't recall seeing any such messages >>> in your earlier log. >>> >>> To reduce CPU consumption, disable echo cancellation, use fast >>> sample rate conversion, and use PCM codec. And make sure you are >>> running optimized (release) build. >>> >>> Regards, >>> >>> Bill >>> >>> >>> >>> On 3/5/2015 9:43 AM, David Desopper wrote: >>>> Bill, >>>> >>>> I am sorry for my numerous e-mails, but this problem is seriously >>>> bugging me because it is part of my master thesis, deadlines are >>>> creeping in fast. >>>> >>>> When I make a LAN call I get this information: >>>> >>>> Press a to answer or h to reject call >>>> a >>>> Answer with code (100-699) (empty to cancel): 200 >>>> 14:40:39.123 pjsua_call.c !Answering call 0: code=200 >>>> 14:40:39.126 pjsua_media.c ...Call 0: updating media.. >>>> 14:40:39.127 pjsua_aud.c ....Audio channel update.. >>>> 14:40:39.131 strm0x47bb44 .....Encoder stream started >>>> 14:40:39.132 strm0x47bb44 .....Decoder stream started >>>> 14:40:39.140 pjsua_media.c ....Audio updated, stream #0: PCMU >>>> (sendrecv) >>>> 14:40:39.141 pjsua_app.c ...Call 0 media 0 [type=audio], status >>>> is Active >>>> 14:40:39.142 pjsua_aud.c ...Conf disconnect: 2 -x- 0 >>>> 14:40:39.144 conference.c ....Port 2 (ring) stop transmitting to >>>> port 0 (Hercules HD Exchange: USB Audio (hw:1,0)) >>>> 14:40:39.146 pjsua_aud.c ...Conf connect: 3 --> 0 >>>> 14:40:39.147 conference.c ....Port 3 (sip:192.168.1.108) >>>> transmitting to port 0 (Hercules HD Exchange: USB Audio (hw:1,0)) >>>> 14:40:39.149 pjsua_aud.c ...Conf connect: 0 --> 3 >>>> 14:40:39.151 conference.c ....Port 0 (Hercules HD Exchange: USB >>>> Audio (hw:1,0)) transmitting to port 3 (sip:192.168.1.108) >>>> 14:40:39.154 Master/sound !Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.153 pjsua_core.c ....TX 889 bytes Response msg >>>> 200/INVITE/cseq=12740 (tdta0x467ad8) to UDP 192.168.1.108:5060: >>>> SIP/2.0 200 OK >>>> Via: SIP/2.0/UDP >>>> 192.168.1.108:5060;rport=5060;received=192.168.1.108;branch=z9hG4bKPj9ErfYX2FuKbD1gEhQCuTMR7bhUmUYzm7 >>>> Call-ID: TR.3BVSkf3YKwlNsrT1D6-P0ffDN.r3X >>>> From: <sip:192.168.1.108>;tag=FJ6rb9ese.ANHOoZ9.CpfWsZxAZxcLzj >>>> To: <sip:192.168.1.124>;tag=mAL2aev6FkoPxy0h2PEHNm6Oi5CaZW90 >>>> CSeq: 12740 INVITE >>>> Contact: <sip:192.168.1.124:5060> >>>> Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, >>>> NOTIFY, REFER, MESSAGE, OPTIONS >>>> Supported: replaces, 100rel, timer, norefersub >>>> Session-Expires: 1800;refresher=uac >>>> Require: timer >>>> Content-Type: application/sdp >>>> Content-Length: 274 >>>> >>>> v=0 >>>> o=- 3634555234 3634555235 IN IP4 192.168.1.124 >>>> s=pjmedia >>>> b=AS:84 >>>> t=0 0 >>>> a=X-nat:0 >>>> m=audio 4000 RTP/AVP 0 96 >>>> c=IN IP4 192.168.1.124 >>>> b=TIAS:64000 >>>> a=rtcp:4001 IN IP4 192.168.1.124 >>>> a=sendrecv >>>> a=rtpmap:0 PCMU/8000 >>>> a=rtpmap:96 telephone-event/8000 >>>> a=fmtp:96 0-16 >>>> >>>> --end msg-- >>>> 14:40:39.161 pjsua_app.c .......Call 0 state changed to CONNECTING >>>> >>> 14:40:39.169 pjsua_core.c .RX 352 bytes Request msg >>>> ACK/cseq=12740 (rdata0x45c2bc) from UDP 192.168.1.108:5060: >>>> ACK sip:192.168.1.124:5060 SIP/2.0 >>>> Via: SIP/2.0/UDP >>>> 192.168.1.108:5060;rport;branch=z9hG4bKPjTBaR1hYODm1YOsSjR9ZXhlQzY211Rw0u >>>> Max-Forwards: 70 >>>> From: <sip:192.168.1.108>;tag=FJ6rb9ese.ANHOoZ9.CpfWsZxAZxcLzj >>>> To: sip:192.168.1.124;tag=mAL2aev6FkoPxy0h2PEHNm6Oi5CaZW90 >>>> Call-ID: TR.3BVSkf3YKwlNsrT1D6-P0ffDN.r3X >>>> CSeq: 12740 ACK >>>> Content-Length: 0 >>>> >>>> >>>> --end msg-- >>>> 14:40:39.171 ec0x46e880 !Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.176 pjsua_app.c ...Call 0 state changed to CONFIRMED >>>> 14:40:39.243 ec0x46e880 !Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.374 Master/sound Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.431 Master/sound Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.488 Master/sound Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.544 Master/sound Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> 14:40:39.592 Master/sound Underflow, buf_cnt=0, will generate 1 >>>> frame >>>> >>>> >>>> Can this be the cause? >>>> >>>> On 2015-03-05 15:24, David Desopper wrote: >>>>> Never mind my last remark. The sampling rate has nothing to do >>>>> with it. >>>>> >>>>> Bill, can you tell me how to make calls within the same lan? >>>>> >>>>> >>>>> On 2015-03-05 15:06, David Desopper wrote: >>>>>> Bill, >>>>>> >>>>>> I now believe that this is a audio hardware issue instead of >>>>>> something else. To get my USB headset working, I have to set the >>>>>> clock-rate at 48kHz, can this be causing the problem in your >>>>>> opinion? This would shift the problem from PJSIP to Raspberry Pi >>>>>> hardware. >>>>>> >>>>>> >>>>>> On 2015-03-04 10:36, David Desopper wrote: >>>>>>> Bill, >>>>>>> >>>>>>> I normally did use a turn server in both endpoints. I will try >>>>>>> your solution and get back to you as soon as I did. >>>>>>> >>>>>>> Thank you, >>>>>>> David >>>>>>> >>>>>>> Bill Gardner schreef op 3/03/2015 om 22:29: >>>>>>>> Hi David, >>>>>>>> >>>>>>>> OK. I see the call is connecting via a turn relay. Did you set >>>>>>>> up the ubuntu endpoint to use turn? It's surprising that ice >>>>>>>> didn't negotiate using the local RTP addresses on your LAN. >>>>>>>> Actually I can see that ice tests the local connection and it >>>>>>>> succeeds: >>>>>>>> >>>>>>>> 15:09:57.513 icetp00 ICE negotiation success after 0s:201 >>>>>>>> 15:09:57.515 icetp00 Comp 1: sending from host candidate 192.168.1.124:4015 to host candidate 192.168.1.110:4033 >>>>>>>> 15:09:57.516 icetp00 Comp 2: sending from host candidate 192.168.1.124:4001 to host candidate 192.168.1.110:4024 >>>>>>>> But then rasberry proceeds to use the media relay which seems >>>>>>>> wrong to me. I don't understand ice well enough to parse the >>>>>>>> issue from the logs. >>>>>>>> >>>>>>>> One suggestion is to drop all the registrar and ice/turn/stun >>>>>>>> options at both endpoints and just make the call between the >>>>>>>> LAN addresses, that should work and will verify you have >>>>>>>> working endpoints. Then you can go through the registrar and >>>>>>>> enable ice, which should negotiate the local RTP addresses. >>>>>>>> Then add turn relay to one or both endpoints. It should still >>>>>>>> use the local RTP addresses I would think. >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Bill >>>>>>>> >>>>>>>> On 3/3/2015 3:35 PM, David Desopper wrote: >>>>>>>>> Bill, >>>>>>>>> >>>>>>>>> Thanks for your effort. I try to make calls between a pjsua >>>>>>>>> client on a raspberry on one side and a pjsua client on an >>>>>>>>> ubuntu system inside the same lan. I ran through the same >>>>>>>>> steps on both end sytems. It is puzzeling me for a while now >>>>>>>>> and I don't have a doubt in my mind that it's just me that's >>>>>>>>> doing something stupidly wrong. >>>>>>>>> >>>>>>>>> Bill Gardner schreef op 3/03/2015 om 21:28: >>>>>>>>>> Hi David, >>>>>>>>>> >>>>>>>>>> The call stats show 8 packets sent and 449 received during an >>>>>>>>>> 8 second call. Given that you've checked the sound device >>>>>>>>>> using cc 0 0 it's puzzling that you don't hear any audio >>>>>>>>>> during calls. Are you sure the other endpoint is functional? >>>>>>>>>> One suggestion is to first make point to point calls between >>>>>>>>>> pjsip clients on your LAN before trying to connect to >>>>>>>>>> external clients. Another idea is to use wireshark to capture >>>>>>>>>> the RTP stream. >>>>>>>>>> >>>>>>>>>> The log looks OK to me, although I would expect more packets >>>>>>>>>> to be sent with vad off. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> >>>>>>>>>> Bill >>>>>>>>>> >>>>>>>>>> On 3/3/2015 10:18 AM, David Desopper wrote: >>>>>>>>>>> Hi all, >>>>>>>>>>> >>>>>>>>>>> For my master thesis I'm trying to use the pjsip libraries >>>>>>>>>>> for incorperated inside my own software project. But I can't >>>>>>>>>>> seem to be able to get pjsua working. Something clearly is >>>>>>>>>>> going wrong, but I have no idea what the problem seems to >>>>>>>>>>> be. If I check the sound quality paramaters during a call, I >>>>>>>>>>> can see that I am not transmitting any sound packets, but >>>>>>>>>>> also, I can't hear any sound that clearly is received. >>>>>>>>>>> >>>>>>>>>>> I did all the steps mentioned here: >>>>>>>>>>> https://trac.pjsip.org/repos/wiki/Audio_Problems/Getting_Around_Nat >>>>>>>>>>> but without succes. >>>>>>>>>>> >>>>>>>>>>> I also checked that my audio device is working by doing the >>>>>>>>>>> command cc 0 0 to echo my microphone input sound to my output. >>>>>>>>>>> >>>>>>>>>>> Pjsua is initialized like this: >>>>>>>>>>> >>>>>>>>>>> ./pjsua-arm-unknown-linux-gnueabihf --clock-rate=48000 >>>>>>>>>>> --capture-dev=0 --playback-dev=0 --use-ice >>>>>>>>>>> --id=sip:XXX at sip.antisip.com --registrar=sip:sip.antisip.com >>>>>>>>>>> --realm=* --username=XXX --password=*** >>>>>>>>>>> --stun-srv=stun.pjsip.org --no-vad >>>>>>>>>>> >>>>>>>>>>> I think that the most important output is this: >>>>>>>>>>> >>>>>>>>>>> 15:10:06.492 pjsua_app_comm ! >>>>>>>>>>> [CONFIRMED] To: >>>>>>>>>>> <sip:XXX at sip.antisip.com>;tag=kiGDpg9qCdBHKMLgabtKNN1RR-6zUtNP >>>>>>>>>>> Call time: 00h:00m:08s, 1st res in 7505 ms, conn in 7779ms >>>>>>>>>>> #0 audio PCMU @8kHz, sendrecv, peer=91.121.78.130:51526 >>>>>>>>>>> SRTP status: Not active Crypto-suite: >>>>>>>>>>> ICE role: Controlled, state: Negotiation Success, >>>>>>>>>>> comp_cnt: 2 >>>>>>>>>>> [0]: L:192.168.1.124:4015 (h) --> >>>>>>>>>>> R:192.168.1.110:4033 (h) >>>>>>>>>>> [1]: L:192.168.1.124:4001 (h) --> >>>>>>>>>>> R:192.168.1.110:4024 (h) >>>>>>>>>>> RX pt=0, last update:00h:00m:08.808s ago >>>>>>>>>>> total 449pkt 71.8KB (89.8KB +IP hdr) >>>>>>>>>>> @avg=62.8Kbps/78.5Kbps >>>>>>>>>>> pkt loss=0 (0.0%), discrd=0 (0.0%), dup=0 (0.0%), >>>>>>>>>>> reord=0 (0.0%) >>>>>>>>>>> (msec) min avg max last dev >>>>>>>>>>> loss period: 0.000 0.000 0.000 0.000 0.000 >>>>>>>>>>> jitter : 0.000 2.247 9.250 0.750 1.971 >>>>>>>>>>> TX pt=0, ptime=20, last update:00h:00m:04.429s ago >>>>>>>>>>> total 8pkt 1.2KB (1.6KB +IP hdr) @avg=1.1Kbps/1.3Kbps >>>>>>>>>>> pkt loss=0 (0.0%), dup=0 (0.0%), reorder=0 (0.0%) >>>>>>>>>>> (msec) min avg max last dev >>>>>>>>>>> loss period: 0.000 0.000 0.000 0.000 0.000 >>>>>>>>>>> jitter : 0.000 0.000 0.000 0.000 0.000 >>>>>>>>>>> RTT msec : 4.425 4.425 4.425 4.425 0.000 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I included the full log of the call in attachment. >>>>>>>>>>> >>>>>>>>>>> Thanks for your help >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Visit our blog:http://blog.pjsip.org >>>>>>>>>>> >>>>>>>>>>> pjsip mailing list >>>>>>>>>>> pjsip at lists.pjsip.org >>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Visit our blog:http://blog.pjsip.org >>>>>>>>>> >>>>>>>>>> pjsip mailing list >>>>>>>>>> pjsip at lists.pjsip.org >>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Visit our blog:http://blog.pjsip.org >>>>>>>>> >>>>>>>>> pjsip mailing list >>>>>>>>> pjsip at lists.pjsip.org >>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Visit our blog:http://blog.pjsip.org >>>>>>>> >>>>>>>> pjsip mailing list >>>>>>>> pjsip at lists.pjsip.org >>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Visit our blog:http://blog.pjsip.org >>>>>>> >>>>>>> pjsip mailing list >>>>>>> pjsip at lists.pjsip.org >>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Visit our blog:http://blog.pjsip.org >>>>>> >>>>>> pjsip mailing list >>>>>> pjsip at lists.pjsip.org >>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Visit our blog:http://blog.pjsip.org >>>>> >>>>> pjsip mailing list >>>>> pjsip at lists.pjsip.org >>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>> >>>> >>>> >>>> _______________________________________________ >>>> Visit our blog:http://blog.pjsip.org >>>> >>>> pjsip mailing list >>>> pjsip at lists.pjsip.org >>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> >>> >>> >>> _______________________________________________ >>> Visit our blog:http://blog.pjsip.org >>> >>> pjsip mailing list >>> pjsip at lists.pjsip.org >>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> >> >> _______________________________________________ >> Visit our blog:http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20150306/a84eabc1/attachment.html>