[SR-Users] How to determine if a 4xx message came from dispatcher or a client?

Daniel-Constantin Mierla miconda at gmail.com
Thu Sep 4 09:42:28 CEST 2014


Hello,

On 23/08/14 11:47, Olli Heiskanen wrote:
> Hello,
>
> A question on Kamailio variables and using dispatcher:
>
> When in failure_route I want to know if the request message was going 
> to a dispatcher ip or a sip client ip (as in any other than dispatcher 
> ip), how do I make an if statement for that?
>
> If I use ds_is_from_list(), I get wrong results because in both cases 
> the request was sent by Kamailio. Also, I don't seem to be able to get 
> the source ip of the 4xx message (src_ip shows the source ip of the 
> request message).
In failure_route the request is processed again, not the reply.

You can use $T_rpl($si) to get the source ip of the reply inside a 
failure_route. But I think ds_is_from_list() doesn't take the IP as 
parameter.

What you can do is to mark the transaction with a specific flag if you 
sent it via dispatcher. Then the replies should come from a dispatcher 
ip, so you just need to check if that flag is set in failure route.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany




More information about the sr-users mailing list