On 16.05.2013, at 11:26, Vassilis Radis wrote:

> Hi emil,
> 
> Thanks for the clarification.
> Although it may be stupid I got to ask: This will double the traffic and 
> processing done by kamailio , just because SEMS can't be configured with 
> separate/independent UAS / UAC sockets? I dont mean to be provocative, I am 
> just thinking loudly. It is an SBC. I would expect a totally separate "leg" 
> in each side of the "border"…

There are a few things here:

1. sending replies from a different socket (bound address) as the one you 
received the request on is a very bad practice. Nobody doing serious network 
programming will ever do that.

2. having separate legs on different interfaces is very easy to realize with 
SEMS as an SBC. Just configured as many interfaces you need, and set the 
outbound interface for request in the related profile.

3. under some circumstances, a socket bound to local loop (127.0.0.1) can send 
packets through another interface (the kernel routing tables are used to 
determine which interface to use to send out an IP packet). We do avoid this by 
forcing the outbound interface to be what you set, which is a security feature. 
Not doing so could potentially let you send packets to destinations you 
actually did not mean, and would also allow you to send packets to a client 
which could never reply to this request (Via-address set to local loop, no 
socket listening on the source IP address set by the kernel).

So believe me, things are already done the right way in the code ;-) It is only 
a matter of choosing the right architecture for your network to achieve you 
needs correctly, and configuring the software correctly.

-Raphael.

> Anyway thanks, I guess I ll drop the private listening address and make it 
> listen on the public interface. 
> 
> Bill.
> 
> 
> On Thu, May 16, 2013 at 12:04 PM, Emil Kroymann <[email protected]> 
> wrote:
> Re-Hi,
> 
> Am Thu, 16 May 2013 10:58:19 +0200
> schrieb Emil Kroymann <[email protected]>:
> 
> > Hi,
> >
> > The Invalid Argument error usually results when trying to send to a
> > non local address from a socket that is listening on 127.0.0.1.
> 
> To expand a bit: SEMS does symmetric SIP. That is, it uses the same
> port (and hence socket) for receiving SIP messages and for sending SIP
> messages. I think, what you should do, is have SEMS route outgoing SIP
> messages back to your kamailio instance which can then forward them to
> the right destination.
> 
> Regards,
> Emil
> 
> >
> > Regards,
> > Emil
> >
> > Am Wed, 15 May 2013 18:53:08 +0300
> > schrieb Vassilis Radis <[email protected]>:
> >
> > > Hello , I ve setup my sems on the same box with a kamailio.
> > >
> > > Kamailio is bound to the public IP and SEMS to 127.0.0.1
> > > I am only using SBC profile. In sems.conf I have
> > >
> > > sip_ip: 127.0.0.1:5757
> > > media_ip: <public_ip_of_the_box>
> > >
> > > and next_hops and outbound_proxy are not set.
> > >
> > > A call comes from outside into kamailio which sends it to sems for
> > > SBCing. Sems decides the next hop by looking into application
> > > parameter headers that are set by kamailio.
> > > Communication between kamailio and sems is fine. The problem is that
> > > SEMS cannot send its initial INVITE to outside world: In the debug
> > > messages it reports that it checks the DNS of the next_hop, it calls
> > > send_to and then send_to function returns "Invalid argument" which
> > > causes SEMS to report a 400 Bad request back to Kamailio:
> > >
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [send_request,
> > > trans_layer.cpp:980] DEBUG: Sending to x.x.x.x:5060 <INVITE
> > > sip:[email protected]:...>
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [send,
> > > transport.cpp:109] DEBUG: send  msg
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [send,
> > > transport.cpp:125] ERROR: sendto: Invalid argument
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [send_request,
> > > trans_layer.cpp:988] ERROR: Error from transport layer
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [sendRequest,
> > > AmSipDialog.cpp:1135] ERROR: Could not send request: method=INVITE;
> > > call-id=2CCEB7CF-5193AD9700045DF0-B5CFEB40; cseq=10
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [onB2BEvent,
> > > AmB2BSession.cpp:1254] DEBUG: sending INVITE failed, relaying back
> > > error reply
> > > May 15 18:45:27 sip2 sems[26168]: [#b5dffb40] [onB2BEvent,
> > > AmB2BSession.cpp:1259] DEBUG: relaying B2B SIP reply 400 Bad Request
> > >
> > > Any ideas?
> > >
> > > Thanks a lot,
> > > Bill
> >
> >
> >
> 
> 
> 
> --
> Emil Kroymann
> VoIP Services Engineer
> 
> Email: [email protected]
> Tel: +49-30-203899885
> Mobile: +49-151-62820588
> 
> ISACO GmbH
> Kurfürstenstraße 79
> 10787 Berlin
> Germany
> 
> Amtsgericht Charlottenburg, HRB 112464B
> Geschäftsführer: Daniel Frommherz
> 
> 
> _______________________________________________
> Sems mailing list
> [email protected]
> http://lists.iptel.org/mailman/listinfo/sems

_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to