We are using freeswitch as media server in integration with kamailio. So
the purpose of using freeswitch is to record the two-way video calls between the legs
so
without any recording freeswich application or API being used my video
and audio is working just perfect (running on default media handling
mode i.e. proxy_media & bypass media not used), late-negotiation is
disabled, zrtp-passthru is set to false and disable-transcoding is set
to true
after exploring all over web over my recording concern i got to know about the following APP/APIs:
record, record_session, record_fsv, record_mp4, uuid_record (however i want to record in .mp4 format)
so
following the very first step I looked for "video-media-bug" branch and
got to know it is merged in freeSWITCH 1.6 master, so used the 1.6
master , and now the vide-media-bug branch is contained within my
current repo
now using all above mentioned applications i'am not
getting my recording done, here i'am sharing what's happening with
uuid_record being used as
my kbridge dialplan is:
<extension name="kbridge">
<condition field="destination_number" expression="^kb-(.+)$">
<action application="set" data="proxy_media=false"/>
<action application="set" data="call_timeout=30"/>
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="hangup_after_bridge=
true"/>
<action application="set" data="sip_invite_domain=192.168.5.99"/>
<action application="set" data="voicemail_authorized=${sip_authorized}"/>
<action application="export" data="sip_contact_user=ufs"/>
<action application="export" data="api_args=${uuid_setvar ${uuid} enable_file_write_buffering=false"/>
<action application="export" data="api_result=${uuid_record ${uuid} start /usr/local/freeswitch/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}_$1_${caller_id_number}_${destination_number}.mp4}"/>
<action application="bridge" data="sofia/$${domain}/$1@192.168.5.99"/>
<action application="answer"/>
<action application="voicemail" data="check auth $${voicemail_profile} default $${domain} $1"/>
</condition>
</extension>
and the fs_cli log says:
2015-08-21 13:19:50.980274 [NOTICE] switch_channel.c:1089 New Channel sofia/internal/102@192.168.5.99 [c1d25c8d-4e6e-458c-abe0-c40b89bc3d68]
2015-08-21 13:19:50.990233 [INFO] mod_dialplan_xml.c:637 Processing 102 <102>->kb-101 in context public
2015-08-21 13:19:50.990233 [NOTICE] switch_ivr.c:1877 Transfer sofia/internal/102@192.168.5.99 to XML[kb-101@default]
2015-08-21 13:19:50.990233 [INFO] mod_dialplan_xml.c:637 Processing 102 <102>->kb-101 in context default
2015-08-21 13:19:51.000223 [INFO] switch_ivr_async.c:2339 Sending early media
2015-08-21 13:19:51.000223 [INFO] switch_core_media.c:6543 Activating VIDEO RTCP PORT 5244 interval 2000 mux 1
2015-08-21 13:19:51.000223 [NOTICE] mod_sofia.c:2296 Pre-Answer sofia/internal/102@192.168.5.99!
2015-08-21 13:19:51.010223 [INFO] mod_native_file.c:101 Opening File [/usr/local/freeswitch/recordings/2015-08-21-13-19-51-in.G722] 16000hz
2015-08-21 13:19:51.010223 [INFO] mod_native_file.c:101 Opening File [/usr/local/freeswitch/recordings/2015-08-21-13-19-51-out.G722] 16000hz
2015-08-21 13:19:51.010223 [NOTICE] switch_channel.c:1089 New Channel sofia/internal/101@192.168.5.99 [5127cf3a-c7ec-4038-a033-f287b2999a79]
2015-08-21 13:19:51.220289 [NOTICE] sofia.c:6817 Ring-Ready sofia/internal/101@192.168.5.99!
2015-08-21 13:19:55.240230 [INFO] switch_core_media.c:6543 Activating VIDEO RTCP PORT 0 interval 2000 mux 0
2015-08-21 13:19:55.240230 [NOTICE] sofia.c:7576 Channel [sofia/internal/101@192.168.5.99] has been answered
2015-08-21 13:19:55.240230 [NOTICE] switch_ivr_originate.c:3526 Channel [sofia/internal/102@192.168.5.99] has been answered
2015-08-21 13:20:04.180275 [NOTICE] sofia.c:952 Hangup sofia/internal/102@192.168.5.99 [CS_EXECUTE] [NORMAL_CLEARING]
2015-08-21 13:20:04.290279 [NOTICE] switch_ivr_bridge.c:874 Hangup sofia/internal/101@192.168.5.99 [CS_EXCHANGE_MEDIA] [NORMAL_CLEARING]
2015-08-21 13:20:04.290279 [NOTICE] switch_core_session.c:1657 Session 29 (sofia/internal/101@192.168.5.99) Ended
2015-08-21 13:20:04.290279 [NOTICE] switch_core_session.c:1661 Close Channel sofia/internal/101@192.168.5.99 [CS_DESTROY]
2015-08-21 13:20:04.300232 [NOTICE] switch_core_session.c:1657 Session 28 (sofia/internal/102@192.168.5.99) Ended
2015-08-21 13:20:04.300232 [NOTICE] switch_core_session.c:1661 Close Channel sofia/internal/102@192.168.5.99 [CS_DESTROY]
now
in the recordings directory i got 2 files(can be seen in the log ) the
files hav the extension .G722, which is not supposed to be the required
output
since uuid_record is an API I tried using uuid_record in console
so started the call (after commenting the record api in dialplan) and it gave me this error:
-ERR Cannot locate session!
so help me out over this concern
thanks in advance :)
Ankit