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