Hello,

 

Kindly note that I am configuring Kamailio for SIP capture with “Registration” module (registrar.so). Before loading the “Sip Capture” module (sipcapture.so) into Kamailio.cfg file, the registration of the SIP Phone (X-lite) is successful. Yet, when we add the “Sip Capture” module (sipcapture.so) into Kamailio.cfg file with the below parameters:

 

modparam("sipcapture", "db_url", "postgres://postgres:postgres@localhost/kamailio")

modparam("sipcapture", "capture_on", 1)

modparam("sipcapture", "table_name", "sip_capture")

modparam("sipcapture", "raw_moni_capture_on", 1)

 

/* IP to listen. Port/Portrange apply only on mirroring port capturing */

modparam("sipcapture", "raw_socket_listen", "10.0.10.1:5060")

/* Name of interface to bind on raw socket */

modparam("sipcapture", "raw_interface", "eth0")

 

/* children for raw socket */

modparam("sipcapture", "raw_sock_children", 4)

/* insert delayed */

#modparam("sipcapture", "db_insert_mode", 1)

/* Linux only */

/* Promiscious mode RAW socket. Mirroring port. */

modparam("sipcapture", "promiscious_on", 1)

/* activate BPF */

modparam("sipcapture", "raw_moni_bpf_on", 1)

 

With the following routing logic:

 

####### Routing Logic ########

request_route {

                #sip_capture();

 

                # CANCEL processing

                # record routing for dialog forming requests (in case they are routed)

                # - remove preloaded route headers

                remove_hf("Route");

                if (is_method("INVITE|SUBSCRIBE"))

                                record_route();

 

                route(REGISTRAR);

 

                if ($rU==$null) {

                                # request with no Username in RURI

                                sl_send_reply("484","Address Incomplete");

                                exit;

                }

 

                # user location service

 

}

 

route[REGISTRAR] {

                if (is_method("REGISTER")) {

                                if (!save("location"))

                                {

                                                sl_reply_error();

                                }

                                exit;

                }

}

 

 

The registration of the SIP Phone fails and we are getting the following error in Kamailio.log file:

 

2016-11-16T09:49:28.809247-08:00 ubuntu /usr/local/sbin/kamailio[10612]: ERROR: <core> [udp_server.c:550]: udp_send(): sendto(sock,0x7f60c7593910,481,0,192.168.26.4:14661,16): Bad file descriptor(9)

2016-11-16T09:49:28.856080-08:00 ubuntu /usr/local/sbin/kamailio[10612]: ERROR: sl [../../forward.h:192]: msg_send(): udp_send failed

2016-11-16T09:49:28.860251-08:00 ubuntu /usr/local/sbin/kamailio[10612]: ERROR: registrar [reply.c:734]: reg_send_reply(): failed to send 200 OK

 

It would be highly appreciated to check what went wrong here.

 

Thanks in advance.

 

Ali Dakroub