Re-register creating a new TCP Transport each new request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm using pjsip 1.10 in an iphone application and testing against a kamailio
3.1.
The account which I'm registering with has the outbound function active, as
I can tell from these trace:

*16:15:35.007    pjsua_acc.c  Contact for acc 0 updated for SIP outbound:
<sip:111 at 192.168.1.1:5060
;transport=TCP;ob>;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-0000-0000-000052baa107>"
*

**

* 16:16:07.674    pjsua_acc.c  SIP outbound status for acc 0 is active*
*

 16:16:07.674    pjsua_acc.c  Acc 0 has SIP outbound active, no need to
update registration Contact
*

As you already know, when the re-registration timeout counter reaches 0, it
sends a new REGISTER message. The problem is that the iPhone version creates
a *new* tcp transport/socket each time pjsip sends that re-registration
message.
This is a problem in several ways, one of them, as the new register uses a
new transport, the background mode stops working, as the original tcp
transport/socket is still on.

Diving into the pjsip code, I have seen that in the function
"pjsip_tpmgr_acquire_transport2" (which is in sip_transport.c file), it
checks whether it can use a current transport or if it has to create a new
one. It does that with this three if conditions:

line 1575:

if (sel && sel->type == PJSIP_TPSELECTOR_TRANSPORT && sel->u.transport) {
... }

else if (sel && sel->type == PJSIP_TPSELECTOR_LISTENER && sel->u.listener) {
... }

else { /* This is the "normal" flow */ }


My code always go for the second condtion, which as you can read in the
comments "Application has requested that a specific listener is to be used.
In this case, skip transport hash table lookup.". But I haven't requested
anything :)

What I want to do is to reuse the same transport/socket to send the
Re-register message as PJSUA sample add does.

Am I missing any parameter to the transport creation? Why is this problem
happening?


Thanks in advance

Roberto.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20111005/583213a8/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux