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

Володимир Іванець volodyaivanets at gmail.com
Wed Apr 28 16:53:47 CEST 2021


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;
*  }*

In this case, Kamailio will log errors and will not send the Rtpengine
command to start call recording.

*Apr 27 18:25:00 test /usr/sbin/kamailio[5347]: DEBUG: <script>:
call-id=3de74068278ede4417086eb82bdf5a06 at 127.0.0.1:5080.0*
*Apr 27 18:25:00 test /usr/sbin/kamailio[5347]: DEBUG: <core>
[core/parser/msg_parser.c:89]: get_hdr_field(): found end of header*
*Apr 27 18:25:00 test /usr/sbin/kamailio[5347]: ERROR: rtpengine
[rtpengine_funcs.c:294]: get_callid(): call-id not found*
*Apr 27 18:25:00 test /usr/sbin/kamailio[5347]: ERROR: rtpengine
[rtpengine.c:2383]: rtpp_function_call(): can't get Call-Id field*

Have anyone tried to call functions *start_recording* and *stop_recording*
inside *event_route[xhttp:request]*?

Thanks a lot!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210428/8ee69e49/attachment.htm>


More information about the sr-users mailing list