[Freeswitch-users] Audio Bridge to Asterisk from Freeswitch video conference
Zach Rothy
zrothy at monmouth.com
Wed May 10 17:42:20 UTC 2017
So I tested with Freeswitch 1.6.17 as Brian suggested earlier, and it
seems that the errors and warnings I saw still occur. To summarize the
original post I made, I have my Freeswitch server which supplies the
server for video conferences using Verto. I have it bridging to an
Asterisk server (testing with Asterisk 13) to allow PSTN calls to be
bridged to Freeswitch via an Asterisk MeetMe conference room.
Freeswitch gets its dialplan for Verto via mod_xml_curl and sends the
call to Asterisk via the conference auto outcall application.
When I set the flags for this bridged call to ghost it seems Freeswitch
is receiving the RTP, as I see verto say "Talking" properly, but I never
hear anything from my verto client connected to the video conference
room. This does not happen when the ghost flag is removed, as I can
speak from either end and hear it on the other one.
Additionally when the bridged call initially joins the conference, it
seems to be being placed as the presenter even though I have the flags
so that without video it can't be on the canvas. Such I get the
following warning flooding the console:
2017-05-10 12:51:57.505225 [WARNING] switch_core_media.c:11774
sofia/internal/352650 at asterskdev has no video codec
This warning stops both when the floor is not trying to be set to the
audio bridge, or when the floor is locked to another presenter. It
recognizes properly you can't set the vid floor to that bridged call in
fs_cli as it says in console:
2017-05-10 13:33:18.125230 [DEBUG] conference_event.c:110 conf 3525236
CMD mod_verto [vid-floor] 0002
2017-05-10 13:33:18.125230 [ERR] conference_api.c:1770 Channel
sofia/internal/352650 at hasterisk-dev does not have video capability!
2017-05-10 13:33:18.125230 [ALERT] conference_event.c:316 RES [3525236
vid-floor 0002 force][]
I've included both the profile and dialplan returned by my web
application for mod_xml_curl.
Dialplan:
<document type="freeswitch/xml">
<section name="configuration">
<configuration name="conference.conf" description="Conf Profiles">
<profiles>
<profile name="3525236">
<param name="domain" value="$${domain}"/>
<param name="rate" value="48000"/>
<param name="channels" value="2"/>
<param name="interval" value="20"/>
<param name="energy-level" value="200"/>
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<param name="hold-music" value="$${hold_music}"/>
<param name="enter-sound"
value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound"
value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
<param name="locked-sound" value="conference/conf-locked.wav"/>
<param name="is-locked-sound"
value="conference/conf-is-locked.wav"/>
<param name="is-unlocked-sound"
value="conference/conf-is-unlocked.wav"/>
<param name="pin-sound" value="conference/conf-pin.wav"/>
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
<param name="caller-id-name" value="$${outbound_caller_name}"/>
<param name="caller-id-number" value="$${outbound_caller_id}"/>
<param name="comfort-noise" value="false"/>
<param name="conference-flags"
value="video-floor-only|rfc-4579|livearray-sync|minimize-video-encoding|livearray-json-status|video-required-for-canvas|video-mute-exit-canvas"/>
<param name="video-mode" value="passthrough"/>
<param name="video-layout-name" value="1x1"/>
<param name="video-layout-name" value="group:grid"/>
<param name="video-canvas-size" value="1920x1080"/>
<param name="video-canvas-bgcolor" value="#333333"/>
<param name="video-layout-bgcolor" value="#000000"/>
<param name="video-codec-bandwidth" value="1mb"/>
<param name="video-fps" value="15"/>
<param name="max-members-sound"
value="conference/conf-conference_is_full.wav"/>
<param name="endconf-grace-time" value="30"/>
<param name="max-members" value="30"/>
</profile>
</profiles>
</configuration>
</section>
</document>
Dialplan(Returned from mod_xml_curl):
<document type="freeswitch/xml">
<section name="dialplan" description="Dialplan routing">
<context name="default">
<extension name="3525236">
<condition field="destination_number"
expression="^3525236-moderator$">
<action application="set" data="api_hangup_hook=system ROOM=3525236
VCONFID=239 /usr/local/bin/flip_conference_flag.sh"/>
<action application="answer"/>
<action application="set"
data="conference_auto_outcall_timeout=5"/>
<action application="set"
data="conference_utils_auto_outcall_flags=ghost"/>
<action application="set"
data="conference_auto_outcall_caller_id_name=$${effective_caller_id_name}"/>
<action application="set"
data="conference_auto_outcall_caller_id_number=$${effective_caller_id_number}"/>
<action application="set"
data="conference_auto_outcall_profile=3525236"/>
<action application="conference_set_auto_outcall"
data="sofia/internal/352650 at asterisk_server_hostname"/>
<action application="sleep" data="2000"/>
<action application="conference"
data="3525236 at 3525236+flags{moderator|endconf}"/>
<action application="hangup"/>
</condition>
</extension>
</context>
</section>
</document>
More information about the FreeSWITCH-users
mailing list