[sr-dev] [tracker] Task opened: force_send_socket() doesnt set the source IP address reliably when using uac_req_send()

sip-router bugtracker at sip-router.org
Fri May 3 16:43:46 CEST 2013


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Hugh James (hugh.james) 

Attached to Project - sip-router
Summary - force_send_socket() doesnt  set the source IP address reliably when using uac_req_send()
Task Type - Bug Report
Category - Core
Status - Unconfirmed
Assigned To - 
Operating System - Linux
Severity - Medium
Priority - Normal
Reported Version - 4.0
Due in Version - Undecided
Due Date - Undecided
Details - I'm having an issue with force_send_socket().  I have a server with two interfaces on separate sub-nets 192.168.60.xx and 192.168.70.xx ,  and running Kamailio as a proxy with SIP messaging coming in/out  over both interfaces.

I have a second Kamailio running on a second IP (192.168.60.101) address and need to send a custom method between the two instances from time to time.

The custom message has to go from 192.168.60.102  to 192.168.60.101  when a 200-OK to an INVITE arrives and at other similar points in the call. 

I'm using the following lines in my configuration script   , but it works sometimes and not at other times.  Sometimes the message is sent to 192.168.60.101 from 192.168.70.102  (which is the wrong interface) , and therefore doesn't reach the second Kamailio server. It appears as though the message is always sent out on the interface the last message was received on even though I use force_send_socket() to try and set the source IP address for the message  

Have I misunderstood the purpose of this function? is there some other way of sending an internally generated message from a specific IP address/interface 

I have attached an example wireshark trace showing this behavior


    force_send_socket(192.168.60.102:5060);
 
    $uac_req(method)="CUSTOMMETHOD";
    $uac_req(ruri)="sip:" + "192.168.60.101" ;
    $uac_req(furi)="sip:" + "192.168.60.102" ;
    $uac_req(turi)="sip:" + 192.168.60.101 ;
    $uac_req(ouri)="sip:" + 192.168.60.101 ;
    $uac_req(hdrs)="CSeq: 22 CUSTOMMETHOD\r\n";
    $uac_req(hdrs)="Content-Type: text/custom\r\n";
    $var(cseqbody) = $var(MessageType)+"?"  \
                     +$ci+"?" \
                     +$CCM_x1+"?" \
                     +$CCM_x2+"?" \
                     +$CCM_x3+"?" \
                     +$CCM_x4+"?" \
                     +$CCM_x5+"?" \
                     +$CCM_x6+"?";
    $uac_req(body)= $var(cseqbody);                                                                                                                                 
    uac_req_send();

More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=294

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.



More information about the sr-dev mailing list