I'm trying to handle a redirect with get_redirects(). It seems that Kamailio is ignoring the maddr param on the contact header. Is there a way to force maddr to be used?
The Contact header on the 302 looks like this:
sip:2404441112@domain.com:5060 ;maddr=1.1.1.1;q=0.5,sip:2404441112@comain.com:5060;maddr=2.2.2.2;q=0.25
The message is then being sent to domain.com, rather than 1.1.1.1.
IIRC, there was no automatic handling of maddr in request uri, only record route module does it (or at least did it) for route headers via loose route. The sip rfc discouraged use of maddr:
- http://tools.ietf.org/html/rfc3261#section-19.1.1
But you can handle it in branch route, for your specific case. After using get_redirect() and before relaying, set a branch route, inside it you can use:
$(ru{uri.maddr}) to get its value and use it as outbound proxy:
$du = "sip:" + $(ru{uri.maddr});
subst_uri() from textops should help removing the parameter.
Cheers, Daniel
On 17/03/14 17:42, Marc Soda wrote:
Maybe a function to do these operations at once won't be that bad idea ... any volunteers for a patch to siputils module?
Cheers, Daniel
On 17/03/14 21:47, Marc Soda wrote:
2014-03-18 9:11 GMT+01:00 Daniel-Constantin Mierla miconda@gmail.com:
Maybe a function to do these operations at once won't be that bad idea ... any volunteers for a patch to siputils module?
I can try to do that.
Cheers, Victor