[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