[OpenSER-Users] UDP/TCP failover in OpenSER
Antoine Fressancourt
af.devlist at gmail.com
Tue Apr 22 18:36:36 CEST 2008
Hello Klaus, Iñaki,
I have done some tests after your answers, and here are the results :
- I have tried to register a user with multiple Contact headers, for
the same Address of Record in a single REGISTER, specifying the
transport used in each Contact Header field, and I only see one entry
for each client doing "openserctl ul show". For each entry, the
Socket:: value show that the transport layer taken in account is the
transport layer used to send the REGISTER message.
- I tried to add "transport=tcp" as a R-URI parameter but
unfortunately the message is still sent over UDP from OpenSER to
client B.
- About Klaus's remark, I also thought that you could only send SIP
messages in UDP to a client registered inUDP but when I went through
the 18th paragraph of RFC 3261 ("Transport"), I understood that it was
mandatory for a SIP client to listen on the same port in UDP and TCP.
I don't have the precise reference but it is the way I understood this
part of the RFC. Anyway, I would be ready to register on both
protocols using multiple Contact in the REGISTER message, and I would
like to avoid having to send a REGISTER in UDP AND a REGISTER in TCP.
Best regards,
Antoine
When I send a REGISTER with a Contact field containing a transport parameter,
2008/4/22 Klaus Darilion <klaus.mailinglists at pernau.at>:
>
>
> Antoine Fressancourt schrieb:
>
>
> > Hello list,
> >
> > I have several questions about the support of TCP in OpenSER in
> > general, and about the switch/ failover from UDP to TCP in particular.
> >
>
> Forcing UDP->TCP failover will only work if the client is listening on TCP
> too - and the proxy knows the port where the client is listening.
>
> If the client has registered using UDP, then the proxy has to use UDP for
> sending requests to this client.
>
> Thus, if you want TCP you have to make sure that the clients use TCP and
> openser will automatically use TCP.
>
> you can force some clients to use TCP by adding NAPTR records for you
> domain with TCP as the preferred protocol.
>
>
> regards
> klaus
>
>
>
>
> >
> >
> > In my setup, I have several SIP clients registered to a single
> > OpenSER, and they exchange presence messages on a peer-to-peer basis.
> > When the presence document is complex, the size of the message sent
> > exceeds a given limit, and I want my message to be sent over TCP. My
> > clients are registered on the OpenSER, and the REGISTER has been sent
> > over UDP. From now, when client A sends a NOTIFY using TCP to client
> > B, the message is transported over TCP from A to the OpenSER, and is
> > transported over UDP from the OpenSER to B.
> >
> > So here are my questions :
> > - How can I tell OpenSER to relay the message to B using TCP ?
> > - Do I have something particular to do while registering to tell
> > OpenSER that the client is listening in UDP and TCP ?
> >
> > Thank you in advance for your answers,
> >
> > Antoine
> >
> >
> > _______________________________________________
> > Users mailing list
> > Users at lists.openser.org
> > http://lists.openser.org/cgi-bin/mailman/listinfo/users
> >
>
More information about the sr-users
mailing list