[pjsip] TCP transport problem

Philippe philippe.leuba at eyepmedia.com
Tue Aug 18 05:42:56 EDT 2009



Some servers (or SBC) reject SIP TCP requests (i.e. REGISTER) if they
contain a different port in the Via and in the Contact.


By default in pjsip, Contact is filled with listening port, but Via is
filled with real port of the TCP sending connection.


We want to have the listener port in the Via and in the Contact headers.


I have tried to put the port of the listener in the TCP transport internal
structure at the creation and this work the first time.

But If I destroy the TCP factory and recreate a new one, the TCP transport
stays in the list of the transport 

manager and will be reused for the next sending to the same destination. By
consequence, the transport keeps the port of the previous listener and this
is not correct.


TCP transports are only destroyed when we destroy the transport manager and
our usage of pjsip is that we create and destroy transports at will without
destroying the endpoint and therefore the transport manager.


Usage of transport selector seems to not solve the problem as well because
it seems that in this case a new TCP transport is created for each sending!


Do you have a suggestion how to solve this problem?


We are using a pretty old release of pjsip (0.8) but it seems that no
significant changes were done in this domain.


Best regards


Philippe Leuba

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090818/3dedf39e/attachment.html>

More information about the pjsip mailing list