El otro día Elio nos hablaba de Appconference 2.0 el nuevo plugin que permitirá a los usuarios de Asterisk multiconferencia con vídeo.
Ya es posible bajarse Appconference 2.0 RC1 desde Sourceforge, descomprimimos el tarball, compilamos e instalamos:
tar -xzvf appconference-2.0rc1.tar.gz cd appconference-2.0rc1 make sudo make install
Reiniciamos Asterisk, y si todo ha ido bien en el CLI deberíamos poder ver las opciones que tenemos con el comando help conference:
asteriskPBX*CLI> help conference
conference debug enable debugging for a conference
conference drive pairs two members to drive VAD-based video switching
conference drivechannel pairs two channels to drive VAD-based video switching
conference end stops a conference
conference kick kick member from a conference
conference kickchannel kick channel from conference
conference list list members of a conference
conference lock locks incoming video to a member
conference lockchannel locks incoming video to a channel
conference mute mute member in a conference
conference mutechannel mute channel in a conference
conference play sound play a sound to a conference member
conference restart restart a conference
conference set default sets default video source
conference set defaultcha sets default video source channel
conference show stats show conference stats
conference stop sounds stop sounds for a conference member
conference text sends a text message to a member
conference textbroadcast sends a text message to all members in a conference
conference textchannel sends a text message to a channel
conference unlock unlocks conference
conference unmute unmute member in a conference
conference unmutechannel unmute channel in a conference
conference video mute mutes video from a member
conference video mutechan mutes video from a channel
conference video unmute unmutes video from a member
conference video unmutech unmutes video from a channel
conference viewchannel switch channel in a conference
conference viewstream switch view in a conferenceNo hay ficheros de configuración y las conferencias se crean al momento desde el dialplan:
Dialplan syntax: Conference(ConferenceName/Flags/Priority[/VADSTART/VADCONTINUE])
* ConferenceName: Whatever you want to name the conference
* Flags: please see Flags.txt for a comprehensive list of dialplan flags
* Priority: Currently ignored; was to be a "speaking priority" so a
higher priority caller could "override" others.
* VADSTART: Optional: "probability" to use to detect start of speech.
* VADCONTINUE: Optional: "probability" to use to detect continuation
of speech.Tenemos a nuestra disposición una serie de flags que pasamos como parámetro al comando conference:
Mute/no receive options: 'C' : member starts with video muted 'c' : member starts unable to receive video 'L' : member starts with audio muted 'l' : member starts unable to receive audio Speex preprocessing options (right now app_conference does preprocessing only for Zaptel members): 'V' : enable speex preprocessing Voice Activity Detection 'D' : enable speex preprocessing De-noise 'A' : enable speex preprocessing Automatic Gain Control 'T' : member connects through Zaptel, so speex preprocessing should be enabled DTMF options: 'X' : enable DTMF switch: video can be switched by users using DTMF. Do not use with 'S'. 'R' : enable DTMF relay: DTMF tones generate a manager event If neither 'X' nor 'R' are present, DTMF tones will be forwarded to all members in the conference Moderator/video switch options: 'M' : member is a "moderator". When a moderator quits, all members are kicked and the conference is disabled. 'S' : member accepts VAD controlled video switching. Do not use with 'X'. Miscellaneous: 't' : member accepts text based control messages. The messages are described in a separate document 'N' : Assume that the member starts off with camera disabled. Future development (these are not implemented yet): 'x' : marked member. We plan to change the behavior so that when ALL moderators quit, all members that are marked will get kicked. Other members in the conference are not affected.
Además tenemos gran variedad de comandos en el CLI para controlar, depurar y hacer pruebas con las conferencias:
*CLI> conference list <conference name>
- conference debug: enable debugging for a conference
usage: conference debug <conference_name> [ on | off ]
- conference end: stops a conference
usage: conference end <conference name>
- conference kick: kick member from a conference
usage: conference kick <conference_name> <member id>
- conference kickchannel: kick channel from a conference
usage: conference kickchannel <conference_name> <channel>
- conference list: list members of a conference. If no conference is specified, all conferences are listed
usage: conference list {conference_name}
- conference lock: locks incoming video to a member
usage: conference lock <conference name> <member id>
- conference lockchannel: locks incoming video to a channel
usage: conference lockchannel <conference name> <channel>
- conference mute: mute member in a conference
usage: conference mute <conference_name> <member id>
- conference mutechannel: mute channel in a conference
usage: conference mutechannel <channel>
- conference play sound: play a sound to a conference member
usage: conference play sound <channel-id> <sound-file> [mute]
If mute is specified, all other audio is muted while the sound is played back.
- conference restart: kick all users in all conferences
usage: conference restart
- conference set default: sets default video source
usage: conference set default <conference name> <member>
use a negative value for member if you want to clear the default
- conference set defaultchannel: sets default video source channel
usage: conference set defaultchannel <conference name> <channel>
- conference show stats: show conference stats
usage: conference show stats
- conference text: sends a text message to a member. Depends on the member's channel capabilities.
usage: conference text <conference name> <member> <text>
- conference textbroadcast: sends a text message to all members in a conference
usage: conference textbroadcast <conference name> <text>
- conference textchannel: sends a text message to a channel
usage: conference textchannel <conference name> <channel> <text>
- conference unlock: unlocks incoming video
usage: conference unlock <conference name>
- conference unmute: unmute member in a conference
usage: conference unmute <conference_name> <member id>
- conference unmutechannel: unmute channel in a conference
usage: conference unmutechannel <channel>
- conference video mute: mutes video from a member
usage: conference video mute <conference name> <member>
- conference video mutechannel: mutes video from a channel
usage: conference video mutechannel <conference name> <channel>
- conference video unmute: unmutes video from a member
usage: conference video unmute <conference name> <member>
- conference video unmutechannel: unmutes video from a channel
usage: conference video unmutechannel <conference name> <channel>
- conference viewchannel: switch video for a channel in a conference
usage: conference viewchannel <conference_name> <dest channel> <src channel>
- conference viewstream: switch video for a member a conference
usage: conference viewstream <conference_name> <member id> <stream no>
- conference drive: drive VAD video switching of destination member using audio from source member
usage: conference drive <conference name> <source member> [destination member]
If destination member is missing or negative, break existing connection
- conference drivechannel: drive VAD video switching of destination channel using audio from source channel
usage: conference drivechannel <conference name> <source channel> [destination channel]
If destination channel is missing, break existing connection
Por otro lado tenemos el comando videoswitch desde el CLI help videoswitch:
Actualización:todas las referencias a videoswitch han cambiado a conference
asteriskPBX*CLI> help videoswitch
videoswitch debug enable debugging for a videoswitch
videoswitch kick kick member from a videoswitch
videoswitch list list members of a videoswitch
videoswitch mute mute member in a videoswitch
videoswitch mutechannel mute channel in a videoswitch
videoswitch show stats show videoswitch stats
videoswitch unmute unmute member in a videoswitch
videoswitch unmutechannel unmute channel in a videoswitch
videoswitch viewchannel switch channel in a videoswitch
videoswitch viewstream switch view in a videoswitch
asteriskPBX*CLI> help videoswitch debug
usage: videoswitch debug <videoswitch_name> [ on | off ]
enable debugging for a videoswitch
asteriskPBX*CLI> help videoswitch kick
usage: videoswitch kick <videoswitch_name> <member no>
kick member form a videoswitch
asteriskPBX*CLI> help videoswitch list
usage: videoswitch list {<videoswitch_name>}
list members of a videoswitch or list of videoswitches if no name
asteriskPBX*CLI> help videoswitch mute
usage: videoswitch mute <videoswitch_name> <member no>
mute member in a videoswitch
asteriskPBX*CLI> help videoswitch unmute
usage: videoswitch unmute <videoswitch_name> <member no>
unmute member in a videoswitch
asteriskPBX*CLI> help videoswitch mutechannel
usage: videoswitch mute <videoswitch_name> <channel>
mute channel in a videoswitch
asteriskPBX*CLI> help videoswitch unmutechannel
usage: videoswitch unmute <videoswitch_name> <channel>
unmute channel in a videoswitch
asteriskPBX*CLI> help videoswitch viewchannel
usage: videoswitch viewchannel <videoswitch_name> <dest channel> <src channel>
channel <dest channel> will receive video stream <src channel>
asteriskPBX*CLI> help videoswitch viewstream
usage: videoswitch viewstream <videoswitch_name> <member no> <stream no>
member <member no> will receive video stream <stream no>Aquí tenéis un ejemplo para empezar a hacer pruebas, llamamos a la extension 2300 y nos pondrá el usuario en la conferencia "test" permitiendo al usuario cambiar la fuente de video mediante DTMF:
exten => 2300,1,Videoswitch(test/RX) This puts the user into a conference 'test' with the options RX. The options are the same as app_conference, except: X - enable the caller to switch video stream using DTMF R - relay the DTMF to the management interface C - Mute video - no video from this client c - No Receive video - send no video to this client L - Mute audio - no audio from this client l - No Receive audio - send no audio to this client M - member is moderator - when they leave everyone else is kicked
Así que ya sabéis, Appconference 2.0 está a la vuelta de la esquina y la conferencia de vídeo es algo que está bastante solicitado, con que si eres de los que no pueden esperar es buen momento ya para empezar a hacer pruebas. Aunque debemos recordar que sólo es una release candidate y toda está documentación podría cambiar
Comentarios
No encuentro videoswicth
Pude compilar sin problema el appconference 2.0 RC1 para CentOS 5 con Asterisk 1.4.9, cuando reinicio Asterisk en el CLI no tengo ningun resultado con:
asterisk*PBX> help videoswitch
Tambien busque dentro de mis modulos y no encuentro la app_videoswitch, donde la puedo encotrar ??, para probar el appconference cuanto antes.
Ya no existe videoswitch
Hola Roger,
ya no existe videoswitch, así que la última parte del artículo ha quedado un poco desfasada. Todas las referencias a videoswitch han cambiado a conference. Por tanto todas las opciones las puedes ver usando help conference.
Saludos
Muchas gracias por la
Muchas gracias por la respuesta tan rápida. Déjame ver si entendi bien ya no existe ninguna de las aplicaciones de videoswitch, todo lo puedo hacer directamente con los comandos del conference, ya sea desde el CLI o con los las flags que le pace a la app Conference(NAME/FLAGS/...) no? Solo con los los pulsos DTMF cambio la fuente de información de Video directamente y todo lo demás. Bueno muchas gracias de nuevo,
Salu2.
Me pillaste en el momento justo
Pues la verdad es que me pillaste en el momento justo y la respuesta si que fué rápida.
Puedes manejar el conference, cambiando las fuentes de vídeo por DTMF, hay otra opción llamada VAD (Voice Activity Detection) que va cambiando de fuente de vídeo en función de la persona que está hablando en ese momento.
Más abajo si sigues los comentarios y sabes un poco de inglés puedes ver como lo hizo Guido.
Saludos.
videoswitch
Sorry if I don't speak spanish. i'm italian. I could only speak english.
When I digit "help videoswitch" i don't see nothing. the installation of appconference is finished correctly but the help menu for videoswitch is not present. Only for "conference" i can see the help options. Help me please! I can't have a videoconference....only audioconference for the extension that i create........
Thanks everybody and sorry for my bad english.... ;-)
Documentation outdated
Seem that this documentation was a little bit outdated, in 2.0 RC1:
Merged app_videoswitch code from Neil Stratford.
All "videoswitch" references changed to "conference".
So your sintax was already correct, you where using S flag in Moderator/video switch options (accepts VAD controlled video switching) but you could use your phone DTMF tones to switch video streams using RX flags as follows:
Let us know if this worked for you.
appconference
I don't have a phone....I have a softphone (eyebeam...X-lite)....how can i use DTMF tones to switch video streams ????
Thanks everybody very much!
No problem with eyeBeam
Try dialing on eyeBeam, this should send DTMF digits to Asterisk. If you can access and navigate through voicemail, using eyeBeam keypad, then you are done Asterisk is receiving DTMF digits from eyeBeam correctly.
If not working, try to change DTMF settings:
Dial ***7469 (send)
Once you get the advanced options menu up, filter first for DTMF.
Find the Force Inband DTMF entry, and change the value accordingly.
Then filter for 2833. Find the RTP 2833 enabled line, and change this value accordingly.
Setting both to 0 will result in your sending SIP INFO DTMF.
Switch video
Hello! thank you!!! now is all ok!!! perfect! with three clients, i could jump from one to the other if i digit #1, #2 or #3 (the temporal order of start of services for the client rilevated from server asterisK).
I read in an internet page that eyebeam support only 4 video simultaneusly. Is it true? Is there another softphone that support more video simultaneusly?
And how can i see all video by clients simultaneusly without use of DTMF? I read something about VAD...is it good for you? Does Eyebeam support VAD selection of the video stream?
THANKS A LOT FOR ALL!!!
Good job
Hi! First of all, I don't know much about eyeBeam since I haven't used it. So you should better ask eyeBeam support.
This is not a problem if you switch from your phone or using video stream VAD selection.
AFAIK this application switch video streams so you are only receiving one video stream simultaneously.
VAD stands for Voice Activity Detection (AKA RTP Silence Suppression), so if you set up this option you will receive the videostream associated with the person who's talking.
If you use VAD, you should know that would be better if your channels support DTX(silence detection/discontinuous transmission), although it's not strictly necessary should be more efficient.
VAD
'S' : member accepts VAD controlled video switching.
Do not use with 'X'.
So, or I use exten => 9999,1,Conference(conferenza/RX) like now
or I use exten => 9999,1,Conference(conferenza/S[/VADSTART/VADCONTINUE])
?
Thank you !!!!!!!!!!!
for VAD
For VAD you should use:
VADSTART and VADCONTINUE are optional and can be used to adjust settings if you are experiencing problems (maybe no RX support in channel) detecting start of speech. If you enable VAD switching (S) you cannot switch using DTMF (X option)
The end
Finally I configure my asterisk with VAD. It's all ok and more easy for the clients to use than DTMF because video switch automatically if the client is speaking (it switchs after 10 seconds of speak). My last question is: you say that appconference only switch streams. So, also if eyebeam support only 4 video comunications simultaneusly, I could have much more video comunications simultaneusly because eyebeam see them always like one !????? is it true ???
Anyway, thanks a lot for everything!!! Without you I were lost! ;-)
bye !!!
Good news
Hi! Glad to hear it's working.
Yes! You could have more than four speakers, appconference will deliver only one simultaneous video stream, so eyeBeam will receive only one videostream. This unique videostream can be switched either using DTMF or using VAD.
So, with appconference you can have in the conference as many speakers as you want this is not limited by eyeBeam, this will be limited by your Asterisk Server, or network capacity.
Notice that most IP phones receive only one videostream simultaneously, but it's appconference who handles simultaneous videostreams not phone/softphone.
You're welcome. Hope to see you again.
AppConference on AsteriskNow
Hi! I'm come back ;-) I have a question: could I also install appconference on a AsteriskNow system based? How can I do that? Like I did for the Asterisk that I installed on my Ubuntu 7.10 manually? Thank you very much !
This should not be a problem
Hi Guido,
you also have to install Appconference manually, however using Asterisknow should not be a problem.
How to install appconference on asterisknow
Ok. So if it's possible, how can i do that? Sorry but I don't know what I can do... I installed asterisknow by cd iso image on a pc that act as server. I see now the "AsteriskNow Console Menu". Here, I can select only these voices:UPDATE, CONSOLE, RESTART, SHUTDOWN, REBOOT and QUIT. And if I enter on server by a client browser by ip address of the server, I can't install nothing of external like appconference by the asterisknow GUI. Do you know how can I install the appconference plugin like I did with asterisk on ubuntu 7.10? Thank you very much! You're very kind...like ever! Thanks a lot!
p.s. i have just confidured asterisknow by the GUI to have simple audio conference and it's all ok.
You should allow root access
Hi! login with ssh into AsteriskNow if your AsteriskNow ip is (i.e. 192.168.1.100), from another linux box type:
And then enter your admin password. Then where you are in the shell, install as usual. On Windows you can use Putty if you want.
YES !
YES! It's ok! Perfect! All installed by ssh command! Thank you!! You save me another time! I will tell you wich differences there are if appconference is istalled on asterisk or on asterisknow. I have to do some trials. Thank you! ;-)
Ok
You are welcome Guido.
You will be an Appconference expert.
Appconference, AsteriskNOW, IAX
Hi! After some trials, I note that appconference with VAD on AsteriskNOW run a little bit better than on asterisk. The good thing is that with AsteriskNOW you can do everything that you with asterisk but in less time. There is only one problem (but I think that it's the same on asterisk): two people that are speaking in the same room and appconference give problems (echo, don't switch with VAD)............it's a bad thing because two people on the same room couldn't have a videoconference with other people in other rooms..........have you ever note that? Finally, i would ask to you if do you know if there is a softphone that support IAX protocol (for VIDEO)....i don't find nothing for iax video........but iax support video........maybe in future.....? THANK A LOT......YOU'RE THE BEST.....;-)
True
Yes there are still some problems as you noticed. This is only a release candidate and I think it will be improved in future versions.
IAX now support video using videosupport=yes and codec=theora/h264 in the iax.conf file. If you are interested in IAX video checkout the IAXclient project, this guys are making a very good job:
http://iaxclient.wiki.sourceforge.net
Another step...ASTERISKNOW over PEN DRIVE
HI! Do you know how can I install asterisknow iso over a pen drive? Thank you very much!
Really don't know much
Really I don't know much about this topic. Asterisknow is based on rPath and uses conary packaging.
I think could be easier install other distro on a Pendrive and then install Asterisk and Asterisk GUI, more or less could be the same. Here you can choose.
There is not much info on how to install Asterisk or rPath distros on a pendrive.
Another idea could be setup a virtual machine and install an AsteriskNow VmWare image or mountable FileSystem thus degrading a little bit more Asterisk Performance due to VM requirements.
There is a distro called AstLinux, that also fits well on devices without huge space available.
another problem with appconference...
Hi! I have another problem with appconference. Using X-lite or Eyebeam and activating audio codec iLBC and video codec h.263, or h263+ or h264, appconference doesn't show any video stream and send this warning:
"chan_sip.c:3670 sip write: asked to transmit frame type 64, while native formats is 0x400
(ilbc) (1024) read/write=0x400 (ilbc)(1024)/0x400 (ilbc)(1024)"
I found this: http://www.moythreads.com/wordpress/2007/09/02/mixing-audio-overflow-in-...
but i want to ask you if you know something about this appconference incompatibility. Thanks a lot!
didn't know
Hi! Guido.
Seems to be a buffer overflow. I didn't know about this problem.
Maybe somebody has posted a bug as this is a critical problem.
Thanks to you for letting us know.
Are you still using 2.0 RC1?
Notice that on 26 February Appconference 2.0.1 was released with many bug fixes, you can find it on Sourceforge site. If you are still using 2.0 RC1, you should consider upgrading before you continue your testing.