[pjsip] Unable to make call on same host with revision 1824

Benny Prijono bennylp at pjsip.org
Fri Feb 29 05:27:28 EST 2008


Ah, just found the culprit. Stupid bug!
http://trac.pjsip.org/repos/ticket/412#comment:4

Thanks for pointing out the exact revision that contains the bug.

cheers,
 -benny


On 2/28/08, Dan <dan.aberg at keystream.se> wrote:
> I mean freeze as in the GUI does not respond (instance2, the callee).
>  I checked earlier versions and the behaviour I experience starts with
>  revision 1815. Revision 1814 work well for me. One change between 1814
>  and 1815 is the file "pjlib/src/pj/guid_simple.c". So when I copied this
>  file from revision 1814 to revision 1826 it worked like a charm.
>
>  As for a log file, I can't use the "--log-file" parameter since I have
>  to kill the process for it to stop, and then the log file is empty. But
>  here's a cut-and-paste from the console window of the callee that
>  freezes:
>
>  -- Start of dump ---
>   22:06:41.387 os_core_unix.c pjlib 0.8.0-trunk for POSIX initialized
>   22:06:41.389 sip_endpoint.c Creating endpoint instance...
>   22:06:41.391          pjlib select() I/O Queue created (0xb7b57098)
>   22:06:41.391 sip_endpoint.c Module "mod-msg-print" registered
>   22:06:41.391 sip_transport. Transport manager created.
>   22:06:41.392 sip_endpoint.c Module "mod-pjsua-log" registered
>   22:06:41.392 sip_endpoint.c Module "mod-tsx-layer" registered
>   22:06:41.392 sip_endpoint.c Module "mod-stateful-util" registered
>   22:06:41.393 sip_endpoint.c Module "mod-ua" registered
>   22:06:41.393 sip_endpoint.c Module "mod-100rel" registered
>   22:06:41.393 sip_endpoint.c Module "mod-pjsua" registered
>   22:06:41.393 sip_endpoint.c Module "mod-invite" registered
>   22:06:41.614      pasound.c PortAudio sound library initialized,
>  status=0
>   22:06:41.615      pasound.c PortAudio host api count=2
>   22:06:41.615      pasound.c Sound device count=11
>   22:06:41.615          pjlib select() I/O Queue created (0x81c355c)
>   22:06:41.616   conference.c Creating conference bridge with 254 ports
>   22:06:41.616   conference.c Sound device successfully created for port
>  0
>   22:06:41.616 sip_endpoint.c Module "mod-evsub" registered
>   22:06:41.616 sip_endpoint.c Module "mod-presence" registered
>   22:06:41.616        evsub.c Event pkg "presence" registered by
>  mod-presence
>   22:06:41.616 sip_endpoint.c Module "mod-refer" registered
>   22:06:41.616        evsub.c Event pkg "refer" registered by mod-refer
>   22:06:41.616 sip_endpoint.c Module "mod-pjsua-pres" registered
>   22:06:41.616 sip_endpoint.c Module "mod-pjsua-im" registered
>   22:06:41.617 sip_endpoint.c Module "mod-pjsua-options" registered
>   22:06:41.617   pjsua_core.c 1 SIP worker threads created
>   22:06:41.617   pjsua_core.c pjsua version 0.8.0-trunk for
>  i686-pc-linux-gnu initialized
>   22:06:41.617   pjsua_core.c SIP UDP socket reachable at
>  192.168.27.101:5060
>   22:06:41.617   udp0x81cda18 SIP UDP transport started, published
>  address is 192.168.27.101:5060
>   22:06:41.617    pjsua_acc.c Account <sip:192.168.27.101:5060> added
>  with id 0
>   22:06:41.618    tcplis:5060 SIP TCP listener ready for incoming
>  connections at 192.168.27.101:5060
>   22:06:41.618    pjsua_acc.c Account
>  <sip:192.168.27.101:5060;transport=TCP> added with id 1
>   22:06:41.618  pjsua_media.c RTP socket reachable at 192.168.27.101:4000
>   22:06:41.618  pjsua_media.c RTCP socket reachable at
>  192.168.27.101:4001
>   22:06:41.619  pjsua_media.c RTP socket reachable at 192.168.27.101:4002
>   22:06:41.619  pjsua_media.c RTCP socket reachable at
>  192.168.27.101:4003
>   22:06:41.619  pjsua_media.c RTP socket reachable at 192.168.27.101:4004
>   22:06:41.619  pjsua_media.c RTCP socket reachable at
>  192.168.27.101:4005
>   22:06:41.619  pjsua_media.c RTP socket reachable at 192.168.27.101:4006
>   22:06:41.619  pjsua_media.c RTCP socket reachable at
>  192.168.27.101:4007
>   22:06:41.620  pjsua_media.c Opening null sound device..
>  >>>>
>  Account list:
>   [ 0] <sip:192.168.27.101:5060>: does not register
>        Online status: Online
>   *[ 1] <sip:192.168.27.101:5060;transport=TCP>: does not register
>        Online status: Online
>  Buddy list:
>   -none-
>
>  +=============================================================================+
>  |       Call Commands:         |   Buddy, IM & Presence:  |     Account:
>  |
>  |                              |                          |
>  |
>  |  m  Make new call            | +b  Add new buddy       .| +a  Add new
>  accnt |
>  |  M  Make multiple calls      | -b  Delete buddy         | -a  Delete
>  accnt. |
>  |  a  Answer call              |  i  Send IM              | !a  Modify
>  accnt. |
>  |  h  Hangup call  (ha=all)    |  s  Subscribe presence   | rr
>  (Re-)register |
>  |  H  Hold call                |  u  Unsubscribe presence | ru
>  Unregister    |
>  |  v  re-inVite (release hold) |  t  ToGgle Online status |  >  Cycle
>  next ac.|
>  |  U  send UPDATE              |  T  Set online status    |  <  Cycle
>  prev ac.|
>  | ],[ Select next/prev call
>  +--------------------------+-------------------+
>  |  x  Xfer call                |      Media Commands:     |  Status &
>  Config: |
>  |  X  Xfer with Replaces       |                          |
>  |
>  |  #  Send RFC 2833 DTMF       | cl  List ports           |  d  Dump
>  status   |
>  |  *  Send DTMF with INFO      | cc  Connect port         | dd  Dump
>  detailed |
>  | dq  Dump curr. call quality  | cd  Disconnect port      | dc  Dump
>  config   |
>  |                              |  V  Adjust audio Volume  |  f  Save
>  config   |
>  |  S  Send arbitrary REQUEST   | Cp  Codec priorities     |  f  Save
>  config   |
>  +------------------------------+--------------------------+-------------------+
>  |  q  QUIT       sleep N: console sleep for N ms    n: detect NAT type
>  |
>  +=============================================================================+
>  You have 0 active call
>  >>>  22:06:52.663 sip_endpoint.c Processing incoming message: Request
>  msg INVITE/cseq=22862 (rdata0x81cde8c)
>   22:06:52.663   pjsua_core.c RX 1013 bytes Request msg INVITE/cseq=22862
>  (rdata0x81cde8c) from UDP 127.0.0.1:6028:
>  INVITE sip:127.0.0.1 SIP/2.0
>  Via: SIP/2.0/UDP
>  192.168.27.101:6028;rport;branch=z9hG4bKPjAexwNdDGcCMN6UjoiFXwqHtsovVPTsxp
>  Max-Forwards: 70
>  From: <sip:192.168.27.101>;tag=H8sr2agDv2dDoKBZ862a80TOAxF8kQ8B
>  To: sip:127.0.0.1
>  Contact: <sip:192.168.27.101:6028>
>  Call-ID: sikukbFF7MWWeztHmRWRE0O.3dpb17Tz
>  CSeq: 22862 INVITE
>  Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY,
>  PUBLISH, REFER, MESSAGE, OPTIONS
>  Supported: replaces, 100rel, norefersub
>  User-Agent: PJSUA v0.8.0-trunk/i686-pc-linux-gnu
>  Content-Type: application/sdp
>  Content-Length:   441
>
>  v=0
>  o=- 3413221612 3413221612 IN IP4 192.168.27.101
>  s=pjmedia
>  c=IN IP4 192.168.27.101
>  t=0 0
>  a=X-nat:0
>  m=audio 4008 RTP/AVP 103 102 104 117 3 0 8 101
>  a=rtcp:4009 IN IP4 192.168.27.101
>  a=rtpmap:103 speex/16000
>  a=rtpmap:102 speex/8000
>  a=rtpmap:104 speex/32000
>  a=rtpmap:117 iLBC/8000
>  a=fmtp:117 mode=30
>  a=rtpmap:3 GSM/8000
>  a=rtpmap:0 PCMU/8000
>  a=rtpmap:8 PCMA/8000
>  a=sendrecv
>  a=rtpmap:101 telephone-event/8000
>  a=fmtp:101 0-15
>
>  --end msg--
>
>  ---End of dump---
>
>
>  /Dan
>
>
>
>
>  On Thu, 2008-02-28 at 19:10 +0000, Benny Prijono wrote:
>  > Ah sorry, Olle sent me a log file with Address Incomplete error and I
>  > thought that was the one that you're testing with.
>  >
>  > Anyway, I tested the same configuration but with --null-audio on both
>  > instances (since I don't have sound card in my colinux), and as
>  > expected, it didn't freeze.
>  >
>  > Was it really freezing, or the SIP worker thread is not responding? If
>  > the whole application was freezing, that's strange, since the console
>  > UI is in another thread so even if the worker thread gets blocked for
>  > some reason the console UI should still be running. This especially
>  > true for callee (and instance 2 in your setup is callee), unlike
>  > caller where the console UI thread is responsible for creating the
>  > call (so if make_call() gets stucked, the console UI will get stucked
>  > too).
>  >
>  > Can you share any logs maybe?
>  >
>  > cheers,
>  >  -benny
>  >
>  > On 2/28/08, Dan <dan.aberg at keystream.se> wrote:
>  > > Actually I'm not registering with OpenSER or any other server. I just
>  > >  run pjsua without configuration file and the parameters in my originally
>  > >  post.
>  > >  Anyway the second pjsua instance freezes, I don't think it should do
>  > >  that, strict route or not :)
>  > >
>  > >
>  > >  /Dan
>  > >
>  > >
>  > >  On Thu, 2008-02-28 at 15:36 +0000, Benny Prijono wrote:
>  > >  > On 2/28/08, Dan <dan.aberg at keystream.se> wrote:
>  > >  > > Hi,
>  > >  > >  I just checked out the latest revision(1824), and now I'm not able to
>  > >  > >  make a call between two instances running on the sam host.
>  > >  > >
>  > >  > >  Instance 1:
>  > >  > >  ./pjsua-i686-pc-linux-gnu --local-port=6028 --no-vad --ec-tail=0
>  > >  > >  --auto-answer=200
>  > >  > >
>  > >  > >  Instance 2:
>  > >  > >  ./pjsua-i686-pc-linux-gnu --auto-loop --no-vad --ec-tail=0
>  > >  > >  --auto-answer=200 --null-audio
>  > >  > >
>  > >  > >  When I make a call from instance 1 to sip:127.0.0.1, instance 2 freezes
>  > >  > >  after receiving the initial INVITE.
>  > >  > >
>  > >  > >  The last time I tried this was with revision 1786, which worked just
>  > >  > >  fine.
>  > >  >
>  > >  > Hi Dan,
>  > >  >
>  > >  > >From the log (off list), it seems that the call was rejected with 484
>  > >  > Address Incomplete, because the request was like this:
>  > >  >
>  > >  > INVITE sip:domain SIP/2.0
>  > >  > Route: <sip:400 at domain>
>  > >  >
>  > >  > So you're using strict route, and it seems that your OpenSER couldn't
>  > >  > handle this (maybe a configuration problem?).
>  > >  >
>  > >  > This worked in r1786, because we had this bug:
>  > >  > http://trac.pjsip.org/repos/ticket/492, which incorrectly swapped back
>  > >  > the Route with the request URI after the request is challenged with
>  > >  > 401/407.
>  > >  >
>  > >  > So the solution is to use loose route, by adding ";lr" in your route URI.
>  > >  >
>  > >  > cheers,
>  > >  >  -benny
>  > >  >
>  > >  >
>  > >  > >  Thanks,
>  > >  > >  Dan
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  _______________________________________________
>  > >  > >  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
>




More information about the pjsip mailing list