Hello there,
We currently have the following configuration. An openser is listening on two interfaces. One is linked to an internal private network, on which users (sipphones) are. The other is link to a public network.
We noticed several issues :
- When an INVITE (for exemple) comes from the private network and has to be relayed to the public network, openser put the private address as the source of the outgoing message. (sendto() use the same socket from which the message came from ?)
- To solve this issue, we set up openser to listen on 0.0.0.0 (only one socket) but with this config, openser was unable to put the correct address into 'Record-Route' headers. (i.e. Record-Route: sip:0.0.0.0:5060 !)
Is there a specific way of setting up openser in a multi-homed situation ?
Thanks in advance.
Hi Simon,
to force sending from a different interface (to switch across the interfaces), use the force_send_socket() function. See:
http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook#force_send_soc...
the double Record-Route will automatically be inserted to reflect the interface change.
regards, bogdan
Simon Morvan wrote:
Hello there,
We currently have the following configuration. An openser is listening on two interfaces. One is linked to an internal private network, on which users (sipphones) are. The other is link to a public network.
We noticed several issues :
- When an INVITE (for exemple) comes from the private network and has
to be relayed to the public network, openser put the private address as the source of the outgoing message. (sendto() use the same socket from which the message came from ?)
- To solve this issue, we set up openser to listen on 0.0.0.0 (only
one socket) but with this config, openser was unable to put the correct address into 'Record-Route' headers. (i.e. Record-Route: sip:0.0.0.0:5060 !)
Is there a specific way of setting up openser in a multi-homed situation ?
Thanks in advance.
What is the difference between setting "mhomed=1" and using the force_send_socket() function, beside providing more control.
mhomed=1 seems to properly set the source IP for SIP signalling in a multi-homed situation (two IPs).
-ovi
On 6/2/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Simon,
to force sending from a different interface (to switch across the interfaces), use the force_send_socket() function. See:
http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook#force_send_soc...
the double Record-Route will automatically be inserted to reflect the interface change.
regards, bogdan
Uh ! It seems that I've missed this option. :) I'll give it a try.
Ovidiu,
mhomed enables auto detection of the the outgoing interface based on the destination address. Is less complicated to used from script, but as all auto-system is not so performant (additional temporary sockets are opened to probe what will be the interface allocated by the system).
overall, you may say that it the same functionality - it;s just manual versus auto control ;)
regards, bogdan
Ovidiu Sas wrote:
What is the difference between setting "mhomed=1" and using the force_send_socket() function, beside providing more control.
mhomed=1 seems to properly set the source IP for SIP signalling in a multi-homed situation (two IPs).
-ovi
On 6/2/06, *Bogdan-Andrei Iancu* <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Hi Simon, to force sending from a different interface (to switch across the interfaces), use the force_send_socket() function. See: http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook#force_send_socket_protoaddress_port the double Record-Route will automatically be inserted to reflect the interface change. regards, bogdan