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
There's also a nodejs client that I'm aware of: https://github.com/davehorton/rtpengine-client
Or you can hand-roll the request and talk to rtpengine via HTTP or Websocket for example.
Cheers