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@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!