[SR-Users] ACK sent to wrong socket IP in mhomed scenario
Daniel-Constantin Mierla
miconda at gmail.com
Fri Dec 13 10:22:36 CET 2013
Perhaps you should set force send socket before loose_route(), so it
will update it if needed.
Daniel
On 12/12/13 22:20, Ronald Voermans wrote:
> Daniel,
>
> Thank you for your answer. Configured the following (with mhomed=yes):
>
> if ($(route_uri{uri.host}) == VIP_PROXY) {
> force_send_socket(VIP_PROXY);
> } else if ($(route_uri{uri.host}) == VIP_PROXY_PUB) {
> force_send_socket(VIP_PROXY_PUB);
> } else if ($(route_uri{uri.host}) == THIS_PROXY) {
> force_send_socket(THIS_PROXY);
> } else if ($(route_uri{uri.host}) == THIS_PROXY_PUB) {
> force_send_socket(THIS_PROXY_PUB);
> }
> t_relay();
> ...
>
> This solves the issue when using the VIP_PROXY(_PUB). However, the ACK
> always has two route headers when using the THIS_PROXY as ip address.
> In this case, the top route header is VIP_PROXY; the second one is
> THIS_PROXY. Hence, the solution above doesn't work, because the
> force_send_socket uses the top route header (which is VIP_PROXY).
>
> Why is this different behavior when compared to mhomed=no?
>
> Thanks,
>
> Ronald
>> Dear list,
>>
>> I'm having an issue with our Kamailio setup.
>>
>> I've installed two Kamailio servers with Corosync/Pacemaker.
>> Kamailio1 has ip 10.254.254.5, Kamailio2 has ip 10.254.254.23. The
>> VIP is 10.254.254.1. All is working well; clients can sent request to
>> the VIP, and all traffic is sent via 10.254.254.1, and not the real
>> ipI've configured the listen addressess:
>>
>> mhomed = no
>> listen = udp:10.254.254.1:5060
>> listen = udp:10.254.254.23:5060
>>
>> I'm now trying to configure the server as a multihomed one. Both
>> Kamailio have two NIC's. Kamailio1 also has ip X1, Kamailio2 has ip
>> X2. The VIP is Y. Configuration is done as:
>>
>> mhomed = yes
>> listen = udp:10.254.254.1:5060
>> listen = udp:10.254.254.23:5060
>> listen = udp:Y:5060
>> listen = udp:X1:5060
>>
>> When a UA sends an INVITE to for example 10.254.254.1, all responses
>> (back) to UA are being sent with source address 10.254.254.1 (VIP),
>> except for the ACK (and BYE). The ACK is sent via the real ip
>> 10.254.254.23. I can resolve this by issuing a force_send_socket
>> before t_relay in the config; but since it's multihomed, I have to
>> build a lot of checks to find out the outgoing socket. Besides that,
>> I want it to be possible to use both the real IP and the VIP as
>> IP-address for the UA (for testing purposes). This won't work with
>> force_send_socket.
>>
>> Does anyone from the list know how I can solve this?
>>
>> Thanks,
>>
>> Regards,
>>
>> Ronald
>
>
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20131213/5ca04eeb/attachment.html>
More information about the sr-users
mailing list