liuzhe02 / bigbluebutton

Automatically exported from code.google.com/p/bigbluebutton
0 stars 0 forks source link

Reduce connection time via WebRTC #1881

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Currently, when a user connects via WebRTC, the BigBlueButton client makes two 
SIP calls: 

  1.  To the echo test application
  2.  To the voice conference bridge

If a user has a lot of network interfaces, it may take up to 10 seconds for the 
call negotiation to resolve.  Total time to connect to audio could be 20 
seconds.

We can reduce the call time in half by transferring the call to the echo test 
to the voice conference.  We can do this by changing the dialplan to accept 
DTMF command to transfer calls.  Thanks to Stephen Dame for outlining how to do 
this!

The client must change to send the DTMF command when the user clicks 'Yes'.  

The changes necessary to the FreeSWITCH server are

1) Add the following to /opt/freeswitch/sip_profiles/external.xml

    <param name="dtmf-type" value="info"/>
    <param name="liberal-dtmf" value="true"/>

2) Modify /opt/freeswitch/conf/dialplan/default/bbb_echo_test.xml

<include>
  <extension name="bbb_echo_test_direct">
    <condition field="${bbb_authorized}" expression="true" break="on-false"/>
    <condition field="destination_number" expression="^9196$|^9196(\d{5})$">
      <action application="set" data="vbridge=$1"/>
      <action application="answer"/>
      <action application="bind_digit_action" data="direct_from_echo,1,exec:execute_extension,${vbridge} XML default"/>
      <action application="sleep" data="1500"/>
      <action application="echo"/>
    </condition>
  </extension>
</include>

Original issue reported on code.google.com by ffdixon@gmail.com on 15 Feb 2015 at 4:28

GoogleCodeExporter commented 8 years ago
Implemented in pull request

   https://github.com/bigbluebutton/bigbluebutton/pull/513

These updates will be in the next update to BigBlueButton 0.9.0-beta.  In the 
meantime, developers using Master can make the above changes to FreeSWITCH 
configuration and their webRTC connection should work.

Original comment by ffdixon@gmail.com on 15 Feb 2015 at 4:31