[SR-Users] start_recording and stop_recording inside event_route[xhttp:request]

Daniel-Constantin Mierla miconda at gmail.com
Wed May 5 15:46:17 CEST 2021


Hello,

do you pass "from-tag=xyz" to the start_recording() function?

Cheers,
Daniel

On 05.05.21 13:51, Володимир Іванець wrote:
> Hello Daniel,
>
> Sorry, I was out of the office and could make a test only now. As you
> told, the HTTP request is now processed differently. Unfortunately, I
> can no longer start call recording. I tried the following options and
> got the "rtpp_function_call(): can't get From tag" error message each
> time.
>
>  1. /usr/bin/curl -H "Content-Type: text"
>     "http://localhost:8088/CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2@127.0.0.1:5080.0
>     <http://localhost:8088/CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2@127.0.0.1:5080.0>"
>  2. /usr/bin/curl -H "Content-Type: text"
>     "http://localhost:8088/CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2@127.0.0.1:5080.0
>     <http://localhost:8088/CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2@127.0.0.1:5080.0>"
>     -H "From: <sip:123 at 127.0.0.1:5080
>     <http://sip:123@127.0.0.1:5080>>;tag=1"
>  3. /usr/bin/curl -H "Content-Type: text"
>     "http://localhost:8088/CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2@127.0.0.1:5080.0
>     <http://localhost:8088/CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2@127.0.0.1:5080.0>"
>     -H "Call-Id: 249ae6300da4b1393be203e21068f6a2 at 127.0.0.1:5080.0" -H
>     "To: sip:456 at 127.0.0.1:5060 <http://sip:456@127.0.0.1:5060>" -H
>     "From: <sip:123 at 127.0.0.1:5080 <http://sip:123@127.0.0.1:5080>>;tag=1"
>
>
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_fline.c:250]: parse_first_line(): first line
>     type 1 (request) flags 2/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:677]: parse_msg(): SIP Request:/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:679]: parse_msg():  method:  <GET>/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:681]: parse_msg():  uri:    
>     </CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2 at 127.0.0.1:5080.0>/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:683]: parse_msg():  version: <HTTP/1.1>/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_hname2.c:294]: parse_sip_header_name(): parsed
>     header name [Via] type 1/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_via.c:2639]: parse_via(): end of header
>     reached, state=5/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:555]: parse_headers(): Via found, flags=2/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:557]: parse_headers(): this is the first
>     via/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <script>:
>     == TRACE. xhttp:request/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <script>:
>     == TRACE. xhttp:request. HTTP Request Received/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <script>:
>     == TRACE. xhttp:request. hu is:
>     /CALL_RECORD_START/249ae6300da4b1393be203e21068f6a2 at 127.0.0.1:5080.0/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <script>:
>     call-id=249ae6300da4b1393be203e21068f6a2 at 127.0.0.1:5080.0 1111111111/
>     /*May  5 14:40:43 test /usr/sbin/kamailio[19603]: ERROR: rtpengine
>     [rtpengine.c:2547]: rtpp_function_call(): can't get From tag*/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: xhttp
>     [xhttp_mod.c:420]: xhttp_send_reply(): sending out response: 200 OK/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_hname2.c:294]: parse_sip_header_name(): parsed
>     header name [Host] type 0/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_hname2.c:294]: parse_sip_header_name(): parsed
>     header name [User-Agent] type 28/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_hname2.c:294]: parse_sip_header_name(): parsed
>     header name [Accept] type 23/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/parse_hname2.c:294]: parse_sip_header_name(): parsed
>     header name [Content-Type] type 11/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/parser/msg_parser.c:91]: get_hdr_field(): found end of header/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/msg_translator.c:162]: check_via_address(): (127.0.0.1,
>     127.0.0.1, 0)/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/tcp_main.c:1590]: _tcpconn_find(): found connection by id: 5/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/tcp_main.c:2472]: tcpconn_send_put(): send from reader
>     (19603 (27)), reusing fd/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/tcp_main.c:2706]: tcpconn_do_send(): sending.../
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/tcp_main.c:2739]: tcpconn_do_send(): after real write: c=
>     0x7f4ba719cd70 n=118 fd=10/
>     /May  5 14:40:43 test /usr/sbin/kamailio[19603]: DEBUG: <core>
>     [core/tcp_main.c:2740]: tcpconn_do_send(): buf=/
>     /
>     /
>     /
>     /
>
> Thank you!
>
> пт, 30 квіт. 2021 о 17:53 Daniel-Constantin Mierla <miconda at gmail.com
> <mailto:miconda at gmail.com>> пише:
>
>     I pushed a commit to master branch that should make it work to use
>     the function for non-SIP message processing, by giving call-id=...
>     and from-tag=... via flags parameter -- these two attributes
>     seemed to be used by expecting to be set, even if the rtpengine
>     application may ignore one of them.
>
>     If you have a chance to test, let me know the result.
>
>     Cheers,
>     Daniel
>
>     On 29.04.21 16:38, Daniel-Constantin Mierla wrote:
>>
>>     I looked in the code and indeed it first takes the values from
>>     headers for Call-Id, To (tag), From (tag), failing if the headers
>>     are not found, but then it updates the values from the flags
>>     parameter. So the call-id can be anything in the headers if you
>>     provide it as "call-id=xyz" parameter.
>>
>>     Maybe the code should be reworked a bit to parse first the flags
>>     parameters and if values are not found for the sip attributes,
>>     then try to get them from headers.
>>
>>     Cheers,
>>     Daniel
>>
>>     On 29.04.21 15:39, Володимир Іванець wrote:
>>>     I run Kamailio with debug=3 and Rtpengine with LOG_LEVEL=6.
>>>
>>>     Rtpengine logs offers, answers and deletes but there is nothing
>>>     when I trigger /start_recording/ with HTTP request. Below is the
>>>     full Kamailio log for the request. It looks to be failing right
>>>     on the /start_recording/ function and I don't see any other
>>>     issues except empty Call-Id here: "receive_msg(): --- received
>>>     sip message - request - call-id: [] - cseq: []".
>>>
>>>     I tried to add Call-Id header to my HTTP request and found out
>>>     that now rtpengine module will complain about missing To header.
>>>     With tries and errors, I specified all required headers and
>>>     Rtpengine started call recording:
>>>
>>>         //usr/bin/curl -H "Content-Type: text"
>>>         "http://localhost:8088/CALL_RECORD_START/38687ab466a031d20d852706710d2b4f@127.0.0.1:5080.1
>>>         <http://localhost:8088/CALL_RECORD_START/38687ab466a031d20d852706710d2b4f@127.0.0.1:5080.1>"
>>>         -H "Call-Id:
>>>         38687ab466a031d20d852706710d2b4f at 127.0.0.1:5080.1
>>>         <mailto:38687ab466a031d20d852706710d2b4f at 127.0.0.1:5080.1>"
>>>         -H "To: sip:200-test at 127.0.0.1:5060
>>>         <http://sip:200-test@127.0.0.1:5060>" -H "From:
>>>         <sip:2564286000 at 127.0.0.1:5080
>>>         <http://sip:2564286000@127.0.0.1:5080>>;tag=as7a92114c"/
>>>
>>>
>>>     It also looks like rtpengine module does not care about actual
>>>     header values. Function /start_recording/ called with Call-Id
>>>     value is enough to start call recording even if all headers
>>>     contain random invalid values:
>>>
>>>         / /usr/bin/curl -H "Content-Type: text"
>>>         "http://localhost:8088/CALL_RECORD_START/6559572e21e08e0a41503ba5779c6604@127.0.0.1:5080.0
>>>         <http://localhost:8088/CALL_RECORD_START/6559572e21e08e0a41503ba5779c6604@127.0.0.1:5080.0>"
>>>         -H "Call-Id: does_mot_matter" -H "To: sip:456 at 127.0.0.1:5060
>>>         <http://sip:456@127.0.0.1:5060>" -H "From:
>>>         <sip:123 at 127.0.0.1:5080 <http://sip:123@127.0.0.1:5080>>;tag=1"/
>>>
>>>
>>>     *Thank you very much for your help!*
>>>
>>>
>>>
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/ip_addr.c:229]: print_ip(): tcpconn_new: new
>>>         tcp connection: 127.0.0.1/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/tcp_main.c:1175]: tcpconn_new(): on port 42782,
>>>         type 2, socket 64/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/tcp_main.c:1498]: tcpconn_add(): hashes:
>>>         1710:1616:2551, 1/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/io_wait.h:375]: io_watch_add(): DBG:
>>>         io_watch_add(0xae63a0, 64, 2, 0x7f943ba04ac0), fd_no=50/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/io_wait.h:600]: io_watch_del(): DBG:
>>>         io_watch_del (0xae63a0, 64, -1, 0x0) fd_no=51 called/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/tcp_main.c:4457]: handle_tcpconn_ev(): sending
>>>         to child, events 1/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/tcp_main.c:4130]: send2child(): selected tcp
>>>         worker idx:0 proc:35 pid:24116 for activity on
>>>         [tcp:127.0.0.1:8088 <http://127.0.0.1:8088>], 0x7f943ba04ac0/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_read.c:1749]: handle_io(): received n=8
>>>         con=0x7f943ba04ac0, fd=13/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:610]: parse_msg(): SIP
>>>         Request:/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:612]: parse_msg():  method:
>>>          <GET>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:614]: parse_msg():  uri:  
>>>          
>>>         </CALL_RECORD_START/7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0>
>>>         <mailto:/CALL_RECORD_START/7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:616]: parse_msg():
>>>          version: <HTTP/1.1>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:89]: get_hdr_field(): found
>>>         end of header/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/receive.c:324]: receive_msg(): --- received sip
>>>         message - request - call-id: [] - cseq: []/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         xhttp [xhttp_mod.c:382]: xhttp_handler(): new fake msg
>>>         created (286 bytes):/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:610]: parse_msg(): SIP
>>>         Request:/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:612]: parse_msg():  method:
>>>          <GET>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:614]: parse_msg():  uri:  
>>>          
>>>         </CALL_RECORD_START/7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0>
>>>         <mailto:/CALL_RECORD_START/7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:616]: parse_msg():
>>>          version: <HTTP/1.1>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/parse_via.c:2639]: parse_via(): end of
>>>         header reached, state=5/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:498]: parse_headers(): Via
>>>         found, flags=2/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:500]: parse_headers(): this
>>>         is the first via/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <script>: == TRACE. xhttp:request/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <script>: == TRACE. xhttp:request. HTTP Request Received/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <script>: == TRACE. xhttp:request. hu is:
>>>         /CALL_RECORD_START/7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <script>:
>>>         call-id=7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0
>>>         <mailto:call-id=7a444c165953cf0a196e10e50d0b611e at 127.0.0.1:5080.0>/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/parser/msg_parser.c:89]: get_hdr_field(): found
>>>         end of header/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: ERROR:
>>>         rtpengine [rtpengine_funcs.c:294]: get_callid(): call-id not
>>>         found/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: ERROR:
>>>         rtpengine [rtpengine.c:2383]: rtpp_function_call(): can't
>>>         get Call-Id field/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         xhttp [xhttp_mod.c:441]: xhttp_send_reply(): sending out
>>>         response: 200 OK/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/msg_translator.c:161]: check_via_address():
>>>         (127.0.0.1, 127.0.0.1, 0)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_main.c:1590]: _tcpconn_find(): found
>>>         connection by id: 1/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_main.c:2472]: tcpconn_send_put(): send from
>>>         reader (24116 (35)), reusing fd/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_main.c:2706]: tcpconn_do_send(): sending.../
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_main.c:2739]: tcpconn_do_send(): after real
>>>         write: c= 0x7f943ba04ac0 n=113 fd=13/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_main.c:2740]: tcpconn_do_send(): buf=/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying
>>>         list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying
>>>         list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying
>>>         list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying
>>>         list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying
>>>         list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/usr_avp.c:636]: destroy_avp_list(): destroying
>>>         list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/xavp.c:539]: xavp_destroy_list(): destroying
>>>         xavp list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/xavp.c:539]: xavp_destroy_list(): destroying
>>>         xavp list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/xavp.c:539]: xavp_destroy_list(): destroying
>>>         xavp list (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/receive.c:528]: receive_msg(): cleaning up/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/io_wait.h:375]: io_watch_add(): DBG:
>>>         io_watch_add(0xb2a640, 13, 2, 0x7f943ba04ac0), fd_no=1/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/tcp_main.c:3793]: handle_ser_child(): read
>>>         response= 7f943ba04ac0, -1, fd -1 from 35 (24116)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/io_wait.h:600]: io_watch_del(): DBG:
>>>         io_watch_del (0xb2a640, 13, -1, 0x10) fd_no=2 called/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_read.c:1890]: handle_io(): removing from
>>>         list 0x7f943ba04ac0 id 1 fd 13, state -1, flags 4028, main
>>>         fd -1, refcnt 1 ([127.0.0.1]:42782 -> [127.0.0.1]:8088)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_read.c:1671]: release_tcpconn(): releasing
>>>         con 0x7f943ba04ac0, state -2, fd=13, id=1 ([127.0.0.1]:42782
>>>         -> [127.0.0.1]:8088)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24116]: DEBUG:
>>>         <core> [core/tcp_read.c:1672]: release_tcpconn(): extra_data
>>>         (nil)/
>>>         /Apr 29 16:01:47 test /usr/sbin/kamailio[24120]: DEBUG:
>>>         <core> [core/tcp_main.c:3560]: handle_tcp_child(): reader
>>>         response= 7f943ba04ac0, -2 from 0/
>>>
>>>
>>>     чт, 29 квіт. 2021 о 13:17 Daniel-Constantin Mierla
>>>     <miconda at gmail.com <mailto:miconda at gmail.com>> пише:
>>>
>>>         Ohhh, blindly missed the assignment before. You should run
>>>         both kamailio and rtpengine with higher debug level and see
>>>         if you get any hints from the log messages.
>>>
>>>         Cheers,
>>>         Daniel
>>>
>>>         On 29.04.21 11:51, Володимир Іванець wrote:
>>>>         Hello Daniel,
>>>>
>>>>         That is correct. My /$var(call_id)/ variable contains
>>>>         concatenation of the "call-id=" string and a Call-Id value.
>>>>
>>>>             /Apr 27 18:25:00 test /usr/sbin/kamailio[5347]: DEBUG:
>>>>             <script>:
>>>>             call-id=3de74068278ede4417086eb82bdf5a06 at 127.0.0.1:5080.0
>>>>             <mailto:call-id=3de74068278ede4417086eb82bdf5a06 at 127.0.0.1:5080.0>/
>>>>
>>>>
>>>>         Thank you!
>>>>
>>>>         чт, 29 квіт. 2021 о 09:58 Daniel-Constantin Mierla
>>>>         <miconda at gmail.com <mailto:miconda at gmail.com>> пише:
>>>>
>>>>             Hello,
>>>>
>>>>             related to the initial config snippet example, the
>>>>             call-id is expected to be provide as a named flag, like:
>>>>
>>>>             start_recording("call-id=$var(call_id)");
>>>>
>>>>             See the readme of the rtpengine module for more details.
>>>>
>>>>             Cheers,
>>>>             Daniel
>>>>
>>>>             On 29.04.21 08:23, Володимир Іванець wrote:
>>>>>             Hello Richard,
>>>>>
>>>>>             Thank you very much for the suggestion! I will give it
>>>>>             a try.
>>>>>
>>>>>             ср, 28 квіт. 2021, 20:00 користувач Richard Fuchs
>>>>>             <rfuchs at sipwise.com <mailto:rfuchs at sipwise.com>> пише:
>>>>>
>>>>>                 On 28/04/2021 10.53, [ EXT ] Володимир Іванець wrote:
>>>>>>                 Hello!
>>>>>>
>>>>>>                 I'm testing call recording with Rtpengine. It
>>>>>>                 works fine when the "record-call=on" flag is
>>>>>>                 added to the /rtpengine_offer/
>>>>>>                 or /start_recording/ is used in the *request_route*.
>>>>>>
>>>>>>                 But I was wondering if the call recording can be
>>>>>>                 managed by a separate application. So I add the
>>>>>>                 following lines to
>>>>>>                 the *event_route[xhttp:request]* and triggered it
>>>>>>                 with an HTTP request after the call was
>>>>>>                 established. The call-id value was taken from the
>>>>>>                 Rtpengine log and sent with the request.
>>>>>>
>>>>>>                     /  if ($hu =~ "^/CALL_RECORD_START/") {/
>>>>>>                     /    $var(call_id) = /"call-id="
>>>>>>                     + /$(hu{s.select,2,/});/
>>>>>>                         xlog("L_DBG", "$var(call_id)");
>>>>>>                     /    start_recording($var(call_id));/
>>>>>>                     /    /exit;
>>>>>>                     /  }/
>>>>>>
>>>>>                 If you have to reason to go through Kamailio for
>>>>>                 this, you can simply trigger the command from any
>>>>>                 other external application. There's a sample
>>>>>                 script included in the repo that can be used for
>>>>>                 this purpose directly (making use of the Perl
>>>>>                 module that is also included):
>>>>>                 https://github.com/sipwise/rtpengine/blob/master/utils/rtpengine-ng-client
>>>>>                 <https://github.com/sipwise/rtpengine/blob/master/utils/rtpengine-ng-client>
>>>>>
>>>>>                 There's also a nodejs client that I'm aware of:
>>>>>                 https://github.com/davehorton/rtpengine-client
>>>>>                 <https://github.com/davehorton/rtpengine-client>
>>>>>
>>>>>                 Or you can hand-roll the request and talk to
>>>>>                 rtpengine via HTTP or Websocket for example.
>>>>>
>>>>>                 Cheers
>>>>>
>>>>>                 __________________________________________________________
>>>>>                 Kamailio - Users Mailing List - Non Commercial
>>>>>                 Discussions
>>>>>                   * sr-users at lists.kamailio.org
>>>>>                 <mailto:sr-users at lists.kamailio.org>
>>>>>                 Important: keep the mailing list in the
>>>>>                 recipients, do not reply only to the sender!
>>>>>                 Edit mailing list options or unsubscribe:
>>>>>                   *
>>>>>                 https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>                 <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>
>>>>>
>>>>>             __________________________________________________________
>>>>>             Kamailio - Users Mailing List - Non Commercial Discussions
>>>>>               * sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>>>>             Important: keep the mailing list in the recipients, do not reply only to the sender!
>>>>>             Edit mailing list options or unsubscribe:
>>>>>               * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>
>>>>             -- 
>>>>             Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>>>>             www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>>             Kamailio Advanced Training - Online
>>>>             May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>>>               * https://www.asipto.com/sw/kamailio-advanced-training-online/ <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>>>>
>>>         -- 
>>>         Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>>>         www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>>         Kamailio Advanced Training - Online
>>>         May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>>           * https://www.asipto.com/sw/kamailio-advanced-training-online/ <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>>>
>>     -- 
>>     Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>>     www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>>     Kamailio Advanced Training - Online
>>     May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>       * https://www.asipto.com/sw/kamailio-advanced-training-online/ <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>
>     -- 
>     Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>     www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>     Kamailio Advanced Training - Online
>     May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>       * https://www.asipto.com/sw/kamailio-advanced-training-online/ <https://www.asipto.com/sw/kamailio-advanced-training-online/>
>
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
  * https://www.asipto.com/sw/kamailio-advanced-training-online/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210505/af980dcd/attachment.htm>


More information about the sr-users mailing list