Enviado por admin el
Si utilizamos BigBlueButton integrado con Moodle, para dictar conferencias, se puede presentar el problema, raro, que algún participante no pueda utilizar el audio del computador/tableta o no le funcione. Para que se pueda acceder a la parte audio de la conferencia podemos utilizar un numero geográfico y enrutar las llamadas entrantes a la conferencia. En BBB integrado con Moodle al programar una videoconferencia se le asigna un numero único. Ese numero, de 5 dígitos es él que tendrá que marcar quien quiera acceder vía DID cuando el sistema se lo pida. Lo único que todavía no he resuelto es como conocer el numero asignado a la conferencia sin tener que acceder una primera vez a ella. Los pasos a seguir:
1. Como el perfil SIP configurado en BBB trabaja sobre el puerto 5060 y de manera predefinida ese puerto, por temas de seguridad está cerrado, lo tenemos que abrir para la IP o las IPs desde donde van a llegar las llamadas entrantes del proveedor:
ufw status numbered
si las primeras lineas son estas:
y la IP del proveedor es 1.2.3.4, la añadimos de la siguiente forma:
ufw insert 3 allow 5060/udp from 1.2.3.4
2. Programamos una videoconferencia en Moodle utilizando la integración con BigBueButton
3. Accedemos a la videoconferencia una primera vez y luego accedemos a la consola de FreeSWITCH. Para hacerlo tenemos que buscar la contraseña en este archivo:
nano /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml
y anotamos el valor en negrita:
<param name="password" value="97fdc5d3583edcf1"/>
luego:
/opt/freeswitch/bin/fs_cli -p 97fdc5d3583edcf1
una vez en la consola escribimos:
freeswitch@bbb1> conference + tecla tabulador
aparecerá el numero de la conferencia:
freeswitch@bbb1> conference 77627
77627 es el numero de la conferencia asignado.
3. Ahora podemos pasar a la configuración del dialplan de FreeSWITCH. Creamos el siguiente archivo:
nano /opt/freeswitch/etc/freeswitch/dialplan/public/00_did.xml
copiamos las lineas que siguen:
<extension name="proveedor_DID">
<condition field="destination_number" expression="^13057288421">
<action application="start_dtmf" />
<action application="answer"/>
<action application="sleep" data="1000"/>
<action application="play_and_get_digits" data="5 7 3 30000 # conference/conf-pin.wav ivr/ivr-that_was_an_invalid_entry.wav pin \d+"/>
<action application="transfer" data="conferencia XML public"/>
</condition>
</extension>
<extension name="check_if_conference_active">
<condition field="${conference ${pin} list}" expression="/sofia/g" />
<condition field="destination_number" expression="^conferencia$">
<action application="set" data="bbb_authorized=true"/>
<action application="transfer" data="${pin} XML default"/>
</condition>
</extension>
<extension name="conf_bad_pin">
<condition field="${pin}" expression="^\d{5}$">
<action application="answer"/>
<action application="sleep" data="1000"/>
<action application="play_and_get_digits" data="5 7 3 30000 # conference/conf-bad-pin.wav ivr/ivr-that_was_an_invalid_entry.wav pin \d+"/>
<action application="transfer" data=" conferencia XML public"/>
</condition>
</extension>
13057288421 es el numero geográfico utilizado (en este caso de Miami) desde el cual se recibirán las llamadas. Una vez que la llamada entre será contestada y al llamante se le pedirá digitar el numero de la conferencia, que como dijimos es 77627; después de los 5 dígitos el usuario tendrá que marca la tecla almohadilla (o tecla numero). Si el numero digitado es correcto, se enviará la llamada al la extensión marcada, XML, contexto default, donde se procesará en este bloque:
<extension name="bbb_conferences">
<condition field="${bbb_authorized}" expression="true" break="on-false" />
<condition field="destination_number" expression="^(\d{5,11})$">
<action application="set" data="jitterbuffer_msec=60:120" />
<action application="set" data="rtp_jitter_buffer_plc=true" />
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
<action application="set" data="suppress_cng=true" />
<action application="answer" />
<action application="conference" data="$1@cdquality" />
</condition>
</extension>
En Moodle:
Comentarios recientes