fbpx
Home » Blog » Asterisk/Vicidial » How to – Switch ViciDial from meetme to confbridge

How to – Switch ViciDial from meetme to confbridge

How to – Switch ViciDial from meetme to confbridge

How to – Switch ViciDial from meetme to confbridge – Asterisk have discontinued using app meetmee, Asterisk is not going to use app meetMe anymore and they have set it to “End of life” so it will no longer get any updates.

So what does this mean for Vicidial which uses MeetMe channels for all its sounds and communications?

Well, there is another module called app confbridge which can also handle these jobs and actually can do so better and has room for some more advanced features over time I’m sure.

Ok so let’s start with the main issue a lot of people are going to have, really because they are scared more than anything, is confbridge needs at least Asterisk 16 to work so our first step is going to be to update Asterisk from 13 to 16.

Time needed: 3 minutes

  1. Step 1 – Upgrade to Asterisk 16

    ok so lets go ahead and install Asterisk 16 by following the steps below:
    cd /usr/src/
    wget http://download.vicidial.com/beta-apps/asterisk-16.17.0-vici.tar.gz
    tar -xzvf asterisk-16.17.0-vici.tar.gz
    cd asterisk-16.17.0-vici
    ./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-jansson-bundled
    rm -rf menuselect.makeopts
    make menuselect*
    **** Go down one to applications and hit enter, go down until you find the "meetme" app and press space bar, then hit "X" **** make && make install make uninstall make install
    We had to fix the Asterisk 16 install over Asterisk 13 by running “make uninstall” and then reinstalling as shown here:


    Fixing Asterisk 16 install
    Now we need to stop the current Asterisk 13 from running and start back up the new Asterisk 16.

    asterisk -r core restart now /usr/share/astguiclient/start_asterisk_boot.pl asterisk -r (make sure the version you see is 16)

  2. Step 2 – Add new confbridge extensions – How to Switch ViciDial from meetme to confbridge

    We need to edit extensions.conf and add some new conferences for confbridge to use so lets start by going into the asterisk directory:
    cd /etc/asterisk
    nano extensions.conf
    paste the following at the bottom:
    ; -------------------------- ; ConfBridge Extensions ; -------------------------- ; use to send
    a agent channel into the conference exten => _9600XXX,1,Answer() exten =>
    _9600XXX,n,Playback(sip-silence) exten =>
    _9600XXX,n,ConfBridge(${EXTEN},vici_agent_bridge,vici_customer_user) exten =>
    _9600XXX,n,Hangup() ;; used to send an customer channel into the conference exten =>
    _29600XXX,1,Answer() exten => _29600XXX,n,Playback(sip-silence) exten =>
    _29600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_agent_user) exten =>
    _29600XXX,n,Hangup() ;; used by an admin to enter the confernece exten => _39600XXX,1,Answer()
    exten => _39600XXX,n,Playback(sip-silence) exten =>
    _39600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_admin_user) exten =>
    _39600XXX,n,Hangup() ;; used to monitor a conference exten => _49600XXX,1,Answer() exten =>
    _49600XXX,n,Playback(sip-silence) exten =>
    _49600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_monitor_user) exten =>
    _49600XXX,n,Hangup() ;; used to record into a conference exten => _59600XXX,1,Answer() exten =>
    _59600XXX,n,Playback(sip-silence) exten =>
    _59600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_recording_user) exten =>
    _59600XXX,n,Hangup() ;; used to barge a conference exten => _69600XXX,1,Answer() exten =>
    _69600XXX,n,Playback(sip-silence) exten =>
    _69600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_barge_user) exten =>
    _69600XXX,n,Hangup() ;; used to trigger DTMF tones in a conference exten =>
    _79600XXX,1,Answer() exten => _79600XXX,n,Playback(sip-silence) exten =>
    _79600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_dtmf_user) exten =>
    _79600XXX,n,Hangup() ;; used to play an audio file to a conference exten =>
    _89600XXX,1,Answer() exten => _89600XXX,n,Playback(sip-silence) exten =>
    _89600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_audio_user) exten =>
    _89600XXX,n,Hangup() ;; used to kick all channels from a conference exten =>
    _99600XXX,1,ConfKick(${EXTEN:1},all) exten => _99600XXX,2,Hangup() exten =>
    _55559600XXX,1,ConfKick(${EXTEN:4},all) exten => _55559600XXX,2,Hangup()


    Save and exit

  3. Step 3 – Add additional code for confbridge to work correctly

    We have to edit a couple files so first lets do:
    nano /etc/asterisk/confbridge.conf and paste this at the bottom:

    #include confbridge-vicidial.conf

    Now create a new file called confbridge-vicidial.conf and add the following lines:

    ; Bridge Profile for agent conferences
    [vici_agent_bridge]
    type=bridge
    max_members=10
    record_conference=no
    internal_sample_rate=8000
    mixing_interval=40
    video_mode=none
    sound_join=enter
    sound_leave=leave
    sound_has_joined=sip-silence
    sound_has_left=sip-silence
    sound_kicked=sip-silence
    sound_muted=sip-silence
    sound_unmuted=sip-silence
    sound_only_person=confbridge-only-participant
    sound_only_one=sip-silence
    sound_there_are=sip-silence
    sound_other_in_party=sip-silence
    sound_begin=sip-silence
    sound_wait_for_leader=sip-silence
    sound_leader_has_left=sip-silence
    sound_get_pin=sip-silence
    sound_invalid_pin=sip-silence
    sound_locked=sip-silence
    sound_locked_now=sip-silence
    sound_unlocked_now=sip-silence
    sound_error_menu=sip-silence
    sound_participants_muted=sip-silence

    ; User Profile for agent channels
    [vici_agent_user]
    type=user
    admin=no
    quiet=no
    startmuted=no
    marked=yes
    dtmf_passthrough=yes
    hear_own_join_sound=yes
    dsp_drop_silence=yes

    ; User Profile for admin channels
    [vici_admin_user]
    type=user
    admin=yes
    quiet=no
    startmuted=no
    marked=yes
    dtmf_passthrough=yes
    dsp_drop_silence=yes
    ; User Profile for monitoring
    [vici_monitor_user]
    type=user
    admin=no
    quiet=no
    startmuted=yes
    marked=no
    dtmf_passthrough=no
    dsp_drop_silence=yes

    ; User Profile for barging
    [vici_barge_user]
    type=user
    admin=no
    quiet=no
    startmuted=no
    marked=no
    dtmf_passthrough=yes
    dsp_drop_silence=yes
    ; User Profile for customers channels
    [vici_customer_user]
    type=user
    admin=no
    quiet=no
    startmuted=no
    marked=yes
    dtmf_passthrough=yes
    hear_own_join_sound=no
    dsp_drop_silence=yes

    ; User Profile for call recording channels
    [vici_recording_user]
    type=user
    admin=no
    quiet=yes
    startmuted=yes
    marked=no
    dtmf_passthrough=no
    dsp_drop_silence=yes
    ; User Profile for audio playback channels
    [vici_audio_user]
    type=user
    admin=no
    quiet=yes
    startmuted=yes
    marked=no
    dtmf_passthrough=no
    dsp_drop_silence=yes
    ; User Profile for triggering DTMF
    [vici_dtmf_user]
    type=user
    admin=no
    quiet=yes
    startmuted=yes
    marked=no
    dtmf_passthrough=yes
    dsp_drop_silence=yes

  4. Step 4 – Add ConfBridge Conferences to Database

    Go into mysql and add the conferences to the vicidial_confbridges table by pasting the following commands:

    mysql -A asterisk INSERT INTO `vicidial_confbridges` VALUES
    (9600000,'10.10.10.17','','0',NULL), (9600001,'10.10.10.17','','0',NULL),
    (9600002,'10.10.10.17','','0',NULL), (9600003,'10.10.10.17','','0',NULL),
    (9600004,'10.10.10.17','','0',NULL), (9600005,'10.10.10.17','','0',NULL),
    (9600006,'10.10.10.17','','0',NULL), (9600007,'10.10.10.17','','0',NULL),
    (9600008,'10.10.10.17','','0',NULL), (9600009,'10.10.10.17','','0',NULL),
    (9600010,'10.10.10.17','','0',NULL), (9600011,'10.10.10.17','','0',NULL),
    (9600012,'10.10.10.17','','0',NULL), (9600013,'10.10.10.17','','0',NULL),
    (9600014,'10.10.10.17','','0',NULL), (9600015,'10.10.10.17','','0',NULL),
    (9600016,'10.10.10.17','','0',NULL), (9600017,'10.10.10.17','','0',NULL),
    (9600018,'10.10.10.17','','0',NULL), (9600019,'10.10.10.17','','0',NULL),
    (9600020,'10.10.10.17','','0',NULL), (9600021,'10.10.10.17','','0',NULL),
    (9600022,'10.10.10.17','','0',NULL),

    Update the IP to your server IP by running the following command:
    /usr/share/astguiclient/ADMIN_update_server_ip.pl –old-server_ip=10.10.10.17 (Click Enter for Y)
    Next enter your server IP and press enter twice to chaneg it in the DB as show below:

    Update Server IP

  5. Step 5 – Code changes to ViciDial files – How to Switch ViciDial from meetme to confbridge

    There are some files now that have to be patched in order to include the changes needed for confbrides to work. They are in the “extras/ConfBridge/” directory of the svn/trunk codebase.
    Lets copy the files over to where they are needed, this will depend on if you are using a single server or a cluster to where the files go. Here is a list of where they go:

    Dialers:
    /usr/share/astguiclient/ –
    – ADMIN_keepalive_ALL.pl.diff
    – ADMIN_update_server_ip.pl.diff
    – AST_DB_optimize.pl.diff
    – AST_reset_mysql_vars.pl.diff
    – AST_VDremote_agents.pl.diff
    – AST_conf_update_screen.pl
    Webservers:
    /srv/www/htdocs/agc/ –
    – vicidial.php.diff
    – vdc_db_query.php.diff
    – manager_send.php.diff
    /srv/www/htdocs/vicidial/ –
    – non_agent_api.php.diff

    You can copy and paste the entire code below to get it all done

    cd /usr/src/astguiclient/trunk/extras/ConfBridge/
    cp * /usr/share/astguiclient/
    cd /usr/share/astguiclient/
    mv manager_send.php.diff vdc_db_query.php.diff vicidial.php.diff
    /var/www/html/agc/
    patch -p0 < ADMIN_keepalive_ALL.pl.diff
    patch -p0 < ADMIN_update_server_ip.pl.diff
    patch -p0 < AST_DB_optimize.pl.diff
    chmod +x AST_conf_update_screen.pl
    patch -p0 < AST_reset_mysql_vars.pl.diff
    cd /var/www/html/agc/
    patch -p0 < manager_send.php.diff
    patch -p0 < vdc_db_query.php.diff
    patch -p0 < vicidial.php.diff

  6. Step 6 – Add the confbridge keepalive and turn off the conf_update keepalive in crontab

    A new screen session has been added called ‘AST_conf_update_screen.pl’. This screen session replaces both the AST_conf_update.pl and AST_conf_update_3way.pl scripts.
    It checks both MeetMe and ConfBridge conferences for unnecessary channels and removes them.

    For instance if an agent does a Leave 3way and a few minutes later one of the remaining channels hangs up. This script will remove the remaining channel and free the conference for use by Vicidial.
    This screen session is optional for use with MeetMe but is required to be used with ConfBridge.
    Add C to VARactive_keepalives
    To enable this screen session you need to add a ‘C’ to the ‘VARactive_keepalives’ variable in the ‘/etc/astguiclient.conf’ on your dialers, and comment out the following line from your crontab:

    ### updater for conference validator
    #* * * * * /usr/share/astguiclient/AST_conf_update.pl

    You can configure the refresh interval for how often the screen session checks for unnecessary channels by changing “Conf Update Interval” in Admin -> Servers.

  7. Step 7- Make the needed changes in ViciDial GUI

    Login to the ViciDial Admin GUI and go to Admin > Servers and click on the server(s) that are dialers and change the conferencing engine to “CONFBRIDGE” as shown below:

    Change conferencing Engine to CONFBRIDGE
    Thats a lot to get through but now that its done your customers will no longer hear the “Water drop” or “bloop” sound that they do now and you’re ready for the future of Asterisk now that meetme has been deprecated.
    Thats it for now, you’re all done. Hopefully this helps those of you who are a little intimidated to try the change

ho are a little intimidated to try the change

Scroll to Top