Hi,
My proxy is bound to a.b.c.d:5060 and secondarily to e.f.g.h:5060.
Most traffic comes into a.b.c.d:5060 and is relayed out that interface. Some initial INVITEs are routed out of e.f.g.h:5060, forced via $fs. The problem is that the Record-Route header still reflects a.b.c.d:5060 and that sequential messages from both ends end up entering and exiting a.b.c.d:5060. Many endpoints don't like that; for instance, e2e ACKs from the caller that come from a.b.c.d:5060 while the initial INVITE came from e.f.g.h:5060 can be a problem in that they are not matched by some UASs.
What is the best way to approach this? Is this something covered by Kamailio's 'mhomed' core param?
Thanks,
Hello,
On 13/08/14 16:28, Alex Balashov wrote:
Hi,
My proxy is bound to a.b.c.d:5060 and secondarily to e.f.g.h:5060.
Most traffic comes into a.b.c.d:5060 and is relayed out that interface. Some initial INVITEs are routed out of e.f.g.h:5060, forced via $fs. The problem is that the Record-Route header still reflects a.b.c.d:5060 and that sequential messages from both ends end up entering and exiting a.b.c.d:5060. Many endpoints don't like that; for instance, e2e ACKs from the caller that come from a.b.c.d:5060 while the initial INVITE came from e.f.g.h:5060 can be a problem in that they are not matched by some UASs.
What is the best way to approach this? Is this something covered by Kamailio's 'mhomed' core param?
if you force a different outbound socket than inbound, then the record_route() should add two headers -- doesn't happen like that? If yes, can you provide a trace?
Btw, is any of these sockets bound to a virtual network interface?
Cheers, Daniel
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
Btw, is any of these sockets bound to a virtual network interface?
Yes; it's eth0 and eth0:1. Is that a factor?
On 13/08/14 17:21, Alex Balashov wrote:
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
Btw, is any of these sockets bound to a virtual network interface?
Yes; it's eth0 and eth0:1. Is that a factor?
Could be. Is record_route() adding two headers?
Daniel
On 08/13/2014 11:28 AM, Daniel-Constantin Mierla wrote:
On 13/08/14 17:21, Alex Balashov wrote:
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
Btw, is any of these sockets bound to a virtual network interface?
Yes; it's eth0 and eth0:1. Is that a factor?
Could be. Is record_route() adding two headers?
No, it is not.
On 14/08/14 12:14, Alex Balashov wrote:
On 08/13/2014 11:28 AM, Daniel-Constantin Mierla wrote:
On 13/08/14 17:21, Alex Balashov wrote:
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
Btw, is any of these sockets bound to a virtual network interface?
Yes; it's eth0 and eth0:1. Is that a factor?
Could be. Is record_route() adding two headers?
No, it is not.
Can you send the ngrep to see how it appears on the network?
Cheers, Daniel
On 08/14/2014 06:41 AM, Daniel-Constantin Mierla wrote:
On 14/08/14 12:14, Alex Balashov wrote:
On 08/13/2014 11:28 AM, Daniel-Constantin Mierla wrote:
On 13/08/14 17:21, Alex Balashov wrote:
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
Btw, is any of these sockets bound to a virtual network interface?
Yes; it's eth0 and eth0:1. Is that a factor?
Could be. Is record_route() adding two headers?
No, it is not.
Can you send the ngrep to see how it appears on the network?
Sure thing. I sent it to you privately to avoid masking IP addresses.
On 14/08/14 12:47, Alex Balashov wrote:
On 08/14/2014 06:41 AM, Daniel-Constantin Mierla wrote:
On 14/08/14 12:14, Alex Balashov wrote:
On 08/13/2014 11:28 AM, Daniel-Constantin Mierla wrote:
On 13/08/14 17:21, Alex Balashov wrote:
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
Btw, is any of these sockets bound to a virtual network interface?
Yes; it's eth0 and eth0:1. Is that a factor?
Could be. Is record_route() adding two headers?
No, it is not.
Can you send the ngrep to see how it appears on the network?
Sure thing. I sent it to you privately to avoid masking IP addresses.
Just double checking -- you haven't disable the double rr via module, isn't?
Do you have explicit listen= or it is left to listen on all interfaces?
Can you give the output of:
kamcmd corex.list_sockets ?
Daniel
You know what? I do have double RR disabled. I thought about that, and was so sure I wouldn't have turned it off that I didn't even check. But it's disabled. I feel quite stupid. Let me retest and let you know what happens.
On 14 August 2014 07:13:36 GMT-04:00, Daniel-Constantin Mierla miconda@gmail.com wrote:
On 14/08/14 12:47, Alex Balashov wrote:
On 08/14/2014 06:41 AM, Daniel-Constantin Mierla wrote:
On 14/08/14 12:14, Alex Balashov wrote:
On 08/13/2014 11:28 AM, Daniel-Constantin Mierla wrote:
On 13/08/14 17:21, Alex Balashov wrote:
On 08/13/2014 11:03 AM, Daniel-Constantin Mierla wrote:
> Btw, is any of these sockets bound to a virtual network
interface?
Yes; it's eth0 and eth0:1. Is that a factor?
Could be. Is record_route() adding two headers?
No, it is not.
Can you send the ngrep to see how it appears on the network?
Sure thing. I sent it to you privately to avoid masking IP addresses.
Just double checking -- you haven't disable the double rr via module, isn't?
Do you have explicit listen= or it is left to listen on all interfaces?
Can you give the output of:
kamcmd corex.list_sockets ?
Daniel
-- Sent from my mobile, and thus lacking in the refinement one might expect from a fully fledged keyboard.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 United States Tel: +1-678-954-0671 Web: http://www.evaristesys.com/, http://www.alexbalashov.com