[SR-Users] Removing Via and Record-Route headers

Daniel-Constantin Mierla miconda at gmail.com
Mon Mar 21 09:40:47 CET 2016


Depending from case to case, the record-routing can be avoided,
especially if you know the environment and only one server is used
between two endpoints. At that moment you can store existing contact in
htable and replace it with one having the server ip. You can eventually
use uuid to generate the contact to be unique, but not a must.

The logic would be:

- call comes in, store $sht(x=>$ci::a1:contact) = contact uri
- store $sht(x=>$ci::a1:ftag) = From tag
- replace contact header with one using server ip and send out
- store new contact uri as $sht(x=>$ci::a2:contact)
- replies comes in, store $sht(x=>$ci::b1:contact) = contact uri
- replace contact header with another new one using server ip and send out
- store new contact uri as $sht(x=>$ci::b2:contact)
- when a request within dialog comes in, based on From tag and
$sht(x=>$ci::a1:ftag), you detect the direction and based on that you
set the appropriate r-uri using either $sht(x=>$ci::a1:contact) or
$sht(x=>$ci::b1:contact) and replace the contact with a2/b2 variants

Alternative to htable is to use database or other storage (e.g., nosql
like redis, mongo, ...).

As a matter of fact, upcoming 4.4 includes the topos module which should
do what you want here, but due to lack of time caused by some unexpected
events, at this moment works properly only for MESSAGE requests. By the
time of release I should have the time to fix the dialog routing as well.

Cheers,
Daniel

On 20/03/16 02:41, Matthew Harrold wrote:
>
> Thanks for your quick response.
>
>     No, you can't remove those headers. They serve an essential
>     purpose and the endpoints won't consider the requests or responses
>     valid without them.
>
>
> It should be theoretically possible to remove some of the via and
> record-route headers, assuming the contact is also re-written. The end
> point's (phones) themselves do not need to be aware of anything
> downstream of the SIP server they're registered too. 
>  
>
>
>     See my blog post on this topic:
>
>     http://blog.csrpswitch.com/sip-udp-fragmentation-and-kamailio-the-sip-header-diet/
>
>
> Thanks for the link!
>  
>
>
>
>     And you certainly can't hide topology this way.
>
>     -- Alex
>
>
>     On 03/19/2016 09:26 PM, Marrold wrote:
>
>         Hi,
>
>         Is there any way to remove Via and Record-Route headers from
>         requests
>         sent to an endpoint and update the contact header, but have
>         Kamailio
>         statefully remember where the replies need to route?
>
>         I imagine this would involve mangling the packets slightly to
>         behave
>         similar to a B2BUA.
>
>         My motivations, in order of priority -
>
>         1) Reduce UDP packet size to avoid MTU limitations
>         2) Improve interoperability, don't expect end points to be able to
>         properly parse / process many via / record-route headers
>         3) Hide topology.
>
>         If someone could point me in the right direction in terms of
>         configuration or modules, that would be great.
>
>         Thanks
>
>
>         _______________________________________________
>         SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
>         mailing list
>         sr-users at lists.sip-router.org
>         <mailto:sr-users at lists.sip-router.org>
>         http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>     -- 
>     Alex Balashov | Principal | Evariste Systems LLC
>     1447 Peachtree Street NE, Suite 700
>     Atlanta, GA 30309
>     United States
>
>     Tel: +1-800-250-5920 <tel:%2B1-800-250-5920> (toll-free) /
>     +1-678-954-0671 <tel:%2B1-678-954-0671> (direct)
>     Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>
>     _______________________________________________
>     SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>     list
>     sr-users at lists.sip-router.org <mailto:sr-users at lists.sip-router.org>
>     http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, Berlin, May 18-20, 2016 - http://www.kamailioworld.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20160321/79c2ef9b/attachment.html>


More information about the sr-users mailing list