[OpenSIPS-Users] Transport identification

Bogdan-Andrei Iancu bogdan at voice-system.ro
Sat Mar 6 09:27:32 CET 2010


Daniel Goepp wrote:
> We actually use record_route_preset not record_route, I would have 
> presumed the logic would be the same for both though regarding this.
rr_preset() is for setting your own rr header, overriding the automatic 
building of  the headers.  So you have to red pill - let opensips to do 
the job - or the blue pill - you do you yourself, but do it from A to Z

> I do not explicitly set double_rr, so it should be the default of on 
> as you point out.  My work around of testing and setting manually does 
> appear to be working now.  I also wonder about what the default 
> protocol / priority would be to use on a call.  For example a SIP URI 
> call where you don't know if the called party is UDP or TCP, it 
> appears to default to UDP.
if there is not protocol indication (like SIPS scheme or transport 
param), it is UDP - that is what RFC3261 says
> However if the endpoint I'm calling from is using TCP, I would prefer 
> to have the outbound attempt first try TCP, then go to UDP if it fails.
if you receive the call over TCP and the caller requests TCP for 
delivery, you should have the transport=TCP param in the received RURI. 
The presence of this param will force opensips to use the indicated 
transport for sending the call out.
Se simple fact you receive the call over TCP does not mean anything - 
what is important is what protocol is required via RURI.

Regards,
Bogdan
> The system we are sending calls to actually just prefers TCP all the 
> time, and then fails over to UDP if it can't complete the call.  We 
> are still experimenting with this, but due to the large packet sizes 
> we are seeing with video, TCP is working better for us in most situations.
>
> Thanks
>
> -dg
>
>
> On Fri, Mar 5, 2010 at 11:50 AM, Bogdan-Andrei Iancu 
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>
>     Hi Daniel,
>
>     But record_route() will automatically do double routing if a proto
>     / ip
>     / port change is detected between the inbound and outbound interface.
>     You need to have the "double_rr" enabled (which is by default).
>
>     Could you check how the RR added by OpenSIPS looks like ?
>
>     Regards,
>     Bogdan
>
>     Daniel Goepp wrote:
>     > Oh man...then TWO seconds after sending this, I find:
>     >
>     > if(proto==TCP)
>     > {
>     > log("the SIP message was received over TCP\n");
>     > };
>     >
>     > However my other comment of perhaps this should be handled
>     > automatically by OpenSIPS still stands :)
>     >
>     > Thanks
>     >
>     > -dg
>     >
>     >
>     > On Fri, Mar 5, 2010 at 9:18 AM, Daniel Goepp <dan at goepp.net
>     <mailto:dan at goepp.net>
>     > <mailto:dan at goepp.net <mailto:dan at goepp.net>>> wrote:
>     >
>     >     We are doing some interop work with another switch, and it is
>     >     having some trouble with TCP vs UDP.  Because of the packet size
>     >     for these specific calls we need to do them TCP.  However the
>     >     record-route in our 200 OK has no transport set, and
>     according to
>     >     the RFC, no transport for SIP default is UDP.  This means
>     that all
>     >     our signaling is TCP, until we get an ACK back from this
>     box, and
>     >     it then is UDP, but too big and breaks the call.  I have
>     found the
>     >     add_rr_param, so I could do a
>     add_rr_param(";transport=tcp"), but
>     >     I only want to do this for calls that are currently using
>     TCP.  I
>     >     looked for a function to test the protocol used, but
>     couldn't find
>     >     one.  Anyone know what it is?  Also, it would seem the
>     appropriate
>     >     thing for OpenSIPS to do would be to automatically put the
>     >     ;transport=xxx in the RR based on the current protocol of the
>     >     dialog.  Thoughts on that?
>     >
>     >     Thanks
>     >
>     >     -dg
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Users mailing list
>     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>
>
>     --
>     Bogdan-Andrei Iancu
>     www.voice-system.ro <http://www.voice-system.ro>
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list