Vicidial Admin Monitor on conference just stops working

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Vicidial Admin Monitor on conference just stops working

Postby nelson_arguera » Mon Sep 26, 2022 11:02 pm

Vicibox V9 | Asterisk 16.17.0-vici | Opensuse 15.2 |
VERSION: 2.14-866a
BUILD: 220921-1319
SVN V: 3643

Hi, I'm having a issue with the monitor audio while trying to monitor an agent, the audio stops as soon an agent is dispo'ing, we are using Confbridge, there is anyway I can fix that issue?

Extensions.conf:
Code: Select all
[general]
static=yes
writeprotect=no

[globals]
CONSOLE=Console/dsp                             ; Console interface for demo
TRUNK=DAHDI/r1                                    ; Trunk interface
TRUNKX=DAHDI/r2               ; 2nd trunk interface
TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569   ; IAX trunk interface
TRUNKIAX1=IAX2/ASTtest1:test@10.10.10.16:4569   ; IAX trunk interface
TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com   ; IAX trunk interface
SIPtrunk=SIP/1234:PASSWORD@sip.provider.net   ; SIP trunk

#include extensions-vicidial.conf

[trunkinbound]
; DID call routing process
exten => _XXXXXXXXXX,1,AGI(agi-DID_route.agi)  ; use this one instead of the one below if you are having delay issues, and match to number of received digits
;exten => _X.,1,AGI(agi-DID_route.agi)
exten => _X.,n,Hangup()
; If you have DIDs that arrive with a plus sign at the beginning then uncomment
;exten => _+X.,1,AGI(agi-DID_route.agi)
;exten => _+X.,n,Hangup()
; If you have DIDs that arrive with a plus and 1 at the beginning that you want to filter out, then uncomment
exten => _+1X.,1,Goto(trunkinbound,${EXTEN:2},1)

; FastAGI for VICIDIAL/astGUIclient call logging
exten => h,1,AGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}-----${HANGUPCAUSE(${HANGUPCAUSE_KEYS()},tech)}))

[loopback-no-log]
; This context is to accept calls that have already been logged in another context in Vicidial
; and has been sent through one of the loopbacks. This is why this context is missing the h extension.
; Do not put any extensions in this context unless you specifically understand what this means.

;exten => _91NXXNXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,Hangup()

; special Canadian PRI callerIDname settings FOR USE IN LOOPBACK CONTEXT ONLY
;exten => _91NXXNXXXXXX,1,Set(CALLERID(name)="ACME Widgets")
;exten => _91NXXNXXXXXX,n,AGI(agi-CANADA_PRI_CIDname.agi)
;exten => _91NXXNXXXXXX,n,Dial(${TRUNKX}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,Hangup()

exten => _999XX11112,1,Wait(2)
exten => _999XX11112,n,Answer()
exten => _999XX11112,n,Playback(ss-noservice)
exten => _999XX11112,n,Playback(vm-goodbye)
exten => _999XX11112,n,Hangup()

[default]
include => vicidial-auto

; Local agent alert extensions
exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)
exten => _8600XXX*.,n,Hangup()
exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi)
exten => _78600XXX*.,n,Hangup()

; Local blind monitoring
exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To)
exten => _08600XXX,n,Hangup()


; playback of recorded prompts
exten => _851XXXXX,1,Answer()
exten => _851XXXXX,n,Playback(${EXTEN})
exten => _851XXXXX,n,Hangup()

; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL
exten => _6851XXXXX,1,Answer()
exten => _6851XXXXX,n,WaitForSilence(2000,1,90)
exten => _6851XXXXX,n,Playback(sip-silence)
exten => _6851XXXXX,n,Playback(${EXTEN:1})
exten => _6851XXXXX,n,Hangup()
exten => _7851XXXXX,1,WaitForSilence(2000,2) ; AMD got machine.  leave message after recording
exten => _7851XXXXX,n,Playback(${EXTEN:1})
exten => _7851XXXXX,n,AGI(VD_amd_post.agi,${EXTEN:1})
exten => _7851XXXXX,n,Hangup()


; FastAGI for VICIDIAL/astGUIclient call logging
exten => h,1,AGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}-----${HANGUPCAUSE(${HANGUPCAUSE_KEYS()},tech)}))

; Example phone extensions
; 100-350 phone extensions now auto-generated, so no need to uncommend them
; extensions for other SIP and IAX call center phones
;   cc100-cc150 SIP Phones
;exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to)
;exten => _1[0-5]X,n,Hangup()
;   cc300-cc350 IAX Phones
;exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to)
;exten => _3[0-5]X,n,Hangup()
; extensions if using a T1 channelbank
;exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o)
;exten => _19XX,n,Hangup()
; Extension 4001 rings Zap phone (this example for FXS on Zap port 1)
;exten => 4001,1,Dial(Zap/1,30,o)   ; ring Zap device 1
;exten => 4001,n,Voicemail(u4001)         ; Send to voicemail...
;exten => 4001,n,Hangup()


; # timeout invalid rules
exten => #,1,Playback(invalid)              ; "Thanks for trying the demo"
exten => #,2,Hangup()                     ; Hang them up.
exten => t,1,Goto(#,1)                  ; If they take too long, give up
exten => t,n,Hangup()
exten => i,1,Playback(invalid)          ; "That's not valid, try again"
exten => i,n,Hangup()


; Extensions for performance testing
;exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91999NXXXXXX,n,Dial(${TRUNKloop}/${EXTEN:2},,tTo)
;exten => _91999NXXXXXX,n,Hangup()
;exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => 999999999999,n,Dial(${TRUNKloop}/${EXTEN:1},,tTo)
;exten => 999999999999,n,Hangup()

; This is a loopback dialaround to allow for hearing of ringing for 3way calls
exten => _881NXXNXXXXXX,1,Answer()
exten => _881NXXNXXXXXX,n,Dial(${TRUNKloop}/9${EXTEN:2},,To)
exten => _881NXXNXXXXXX,n,Hangup()

; Vtiger fax and email log extensions
exten => _9118XXXXXXXX,1,Dial(${TRUNKblind}/9998818112,55,to)
exten => _9118XXXXXXXX,n,Hangup()
exten => _9119XXXXXXXX,1,Dial(${TRUNKblind}/9998819112,55,to)
exten => _9119XXXXXXXX,n,Hangup()


; CARRIER DIALING EXTENSIONS, USE THE ADMIN INTERFACE TO PROGRAM THESE
; dial an 800 outbound number
;exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91800NXXXXXX,n,Dial(${TRUNK}/${EXTEN:1},,To)
;exten => _91800NXXXXXX,n,Hangup()
;exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91888NXXXXXX,n,Dial(${TRUNK}/${EXTEN:1},,To)
;exten => _91888NXXXXXX,n,Hangup()
;exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91877NXXXXXX,n,Dial(${TRUNK}/${EXTEN:1},,To)
;exten => _91877NXXXXXX,n,Hangup()
;exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91866NXXXXXX,n,Dial(${TRUNK}/${EXTEN:1},,To)
;exten => _91866NXXXXXX,n,Hangup()
;exten => _91855NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91855NXXXXXX,n,Dial(${TRUNK}/${EXTEN:1},,To)
;exten => _91855NXXXXXX,n,Hangup()

; dial a long distance outbound number
; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls
;exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91NXXNXXXXXX,n,Dial(${TRUNKX}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,Hangup()

; dial a local outbound number (modified because of only LD T1)
;exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _9NXXXXXX,n,Dial(${TRUNK}/1727${EXTEN:1},,To)
;exten => _9NXXXXXX,n,Hangup()

; dial a local 727 outbound number with area code
;exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _9727NXXXXXX,n,Dial(${TRUNK}/1${EXTEN:1},,To)
;exten => _9727NXXXXXX,n,Hangup()

; dial a long distance outbound number to the UK
; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls,
;exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _901144XXXXXXXXXX,n,Dial(${TRUNKX}/${EXTEN:1},55,To)
;exten => _901144XXXXXXXXXX,n,Hangup()

; dial a long distance outbound number to Australia
; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls,
;exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _901161XXXXXXXXX,n,Dial(${TRUNKX}/${EXTEN:1},,To)
;exten => _901161XXXXXXXXX,n,Hangup()

; dial a long distance outbound number through BINFONE
; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91NXXNXXXXXX,n,Dial(${TRUNKIAX}/${EXTEN:1},55,To)
; exten => _91NXXNXXXXXX,n,Hangup()
; dial a long distance outbound number through a SIP provider
; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91NXXNXXXXXX,n,Dial(sip/${EXTEN:1}@SIPtrunk,55,o)
; exten => _91NXXNXXXXXX,n,Hangup()
; special extensions for North America to catch invalid phone numbers
; exten => _91XXX[0-1]XXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXX[0-1]XXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXX[0-1]XXXXXX,n,Hangup()
; exten => _91[0-1]XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91[0-1]XXXXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91[0-1]XXXXXXXXX,n,Hangup()
; exten => _91XXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXX,n,Hangup()
; exten => _91XXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXXX,n,Hangup()
; exten => _91XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXXXX,n,Hangup()
; exten => _91XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXXXXX,n,Hangup()
; exten => _91XXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXXXXXXX,n,Hangup()
; exten => _91XXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXXXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXXXXXXXX,n,Hangup()
; exten => _91XXXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91XXXXXXXXXXXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91XXXXXXXXXXXXX,n,Hangup()
; block calls to 555 numbers
; exten => _91NXX555NXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91NXX555NXXX,n,Dial(${TRUNKloop}/8889990011112,,to)
; exten => _91NXX555NXXX,n,Hangup()
; dial a USA long distance outbound number through the loopback-no-log context
; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => _91NXXNXXXXXX,n,Dial(${TRUNKloop}/888${EXTEN:2},55,o)
; exten => _91NXXNXXXXXX,n,Hangup()
;exten => _888NXXNXXXXXX,1,Goto(loopback-no-log,91${EXTEN:3},1)
;exten => _888NXXNXXXXXX,n,Hangup()

exten => 8889990011112,1,Goto(loopback-no-log,9990011112,1)
exten => 8889990011112,n,Hangup()


; Inbound call from BINFONE
; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log)
; exten => 1112223333,n,Dial(sip/gs102,55,o)
; exten => 1112223333,n,Hangup()

; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery
;exten => 7275551212,1,Ringing()
;exten => 7275551212,n,Wait(1)
;exten => 7275551212,n,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID(all)}-----${CALLERID(num)}-----${CALLERID(name)})
;exten => 7275551212,n,Answer()
;exten => 7275551212,n,Dial(sip/spa2000&sip/spa2001,30,To)
;exten => 7275551212,n,Voicemail(u2000)
;exten => 7275551212,n,Hangup()

; parameters for call_inbound.agi (7 fields separated by five dashes "-----"):
; 1. the extension of the phone to ring as defined in the asterisk.phones table
; 2. the phone number that was called, for the live_inbound/_log entry
; 3. a text description of the number that was called in
; 4-7. optional fields, they are also passed as fields in the GUI to web browser
; This is not part of VICIDIAL, it is for astGUIclient agent use only

; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1
;    with 10 digit ANI and 4 digit DNIS star separated
;exten => _**3429,1,Ringing
;exten => _**3429,n,AGI(agi://127.0.0.1:4577/call_log)
;exten => _**3429,n,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
;exten => _**3429,n,Answer()
;exten => _**3429,n,Dial(sip/spa2000&sip/spa2001,30,to)
;exten => _**3429,n,Voicemail(u2000)
;exten => _**3429,n,Hangup()
; Extension 3429 - with ANI [callerID]
;exten => _*NXXNXXXXXX*3429,1,Ringing
;exten => _*NXXNXXXXXX*3429,n,AGI(agi://127.0.0.1:4577/call_log)
;exten => _*NXXNXXXXXX*3429,n,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
;exten => _*NXXNXXXXXX*3429,n,Answer()
;exten => _*NXXNXXXXXX*3429,n,Dial(sip/spa2000&sip/spa2001,30,to)
;exten => _*NXXNXXXXXX*3429,n,Voicemail(u2000)
;exten => _*NXXNXXXXXX*3429,n,Hangup()


; parameters for agi-VDAD_ALL_inbound.agi (upto 12 fields separated by five dashes "-----"):
; Below are the parameters needed for the script to be run properly
; 1. the method of call handling for the script:
;    - CID -    CID received, add record with phone number
;    - CIDLOOKUP -    Lookup CID to find record in whole system
;    - CIDLOOKUPRL -   Restrict lookup to one list
;    - CIDLOOKUPRC -   Restrict lookup to one campaign's lists
;     - CLOSER -      Closer calls from VICIDIAL fronters
;    - ANI -    ANI received, add record with phone number (based on RBS T1s)
;    - ANILOOKUP -    Lookup ANI to find record in whole system
;    - ANILOOKUPRL -   Restrict lookup to one list
;    - ANILOOKUPRC -   Restrict lookup to one campaign's lists
;    - VID -      Add record with Vendor Lead Code received as argument 12
;    - VIDLOOKUP -    Lookup Vendor Lead Code received as argument 12 to find record in whole system
;    - VIDLOOKUPRL -   Restrict lookup to one list (argument 12)
;    - VIDLOOKUPRC -   Restrict lookup to one campaign's lists (argument 12)
;    - VIDPROMPT -    Prompt Vendor Lead Code to User with IVR to add record with Vendor Lead Code
;    - VIDPROMPTLOOKUP -    Prompt Vendor Lead Code to User with IVR to find record in whole system
;    - VIDPROMPTLOOKUPRL -   Restrict lookup to one list
;    - VIDPROMPTLOOKUPRC -   Restrict lookup to one campaign's lists
;    - 3DIGITID -    Enter 3 digit code to go to agent
;    - 4DIGITID -    Enter 4 digit code to go to agent
;    - XDIGITID -    Enter X digit code to go to agent(variable, i.e. 9DIGITID, 12DIGITID, etc...)
; 2. the method of searching for an available agent:
;    - LO - Load Balance Overflow only (priority to home server)
;    - LB - <default> Load Balance total system
;    - SO - Home server only
; 3. the full name of the IN GROUP to be used in vicidial for the inbound call
; 4. the phone number that was called, for the log entry
; 5. the callerID or lead_id of the person that called(usually overridden)
; 6. the park extension audio file name if used
; 7. the status of the call initially(usually not used)
; 8. the list_id to insert the new lead under if it is new (and CID/ANI available)
; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available)
; 10. the campaign_id to search within lists if CIDLOOKUPRC
; 11. the user to queue the call to for AGENTDIRECT in-group calls
; 12. vendor_lead_code if external mechanism like custom IVR is used to prompt user for ID
;
; inbound VICIDIAL call with CID delivery through T1 PRI
;exten => 1234,1,Answer()                  ; Answer the line
;exten => 1234,n,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1)
;exten => 1234,n,Hangup()

; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel]
exten => _90009.,1,Answer()                  ; Answer the line
exten => _90009.,n,Dial(${TRUNKloop}/9${EXTEN},,to)
exten => _90009.,n,Hangup()
exten => _990009.,1,Answer()                  ; Answer the line, Sometimes needs to be removed
exten => _990009.,n,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1)
exten => _990009.,n,Hangup()
; DID forwarded calls
exten => _99909*.,1,Answer()
exten => _99909*.,n,AGI(agi-VDAD_ALL_inbound.agi)
exten => _99909*.,n,Hangup()


; barge monitoring extension
exten => 8159,1,ZapBarge()
exten => 8159,n,Hangup()

; ZapBarge direct channel extensions
exten => _86120XX,1,ZapBarge(${EXTEN:5})
exten => _86120XX,n,Hangup()

; MeetMe Adjustment Extensions
exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1})
exten => _X48600XXX,2,Hangup()

exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1})
exten => _X38600XXX,2,Hangup()

exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1})
exten => _X28600XXX,2,Hangup()

exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1})
exten => _X18600XXX,2,Hangup()

exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K)
exten => _55558600XXX,2,Hangup()

; immediate hangup extension
exten => 8300,1,Hangup()

; astGUIclient conferences
exten => _86000[0-4]X,1,Meetme(${EXTEN},q)
exten => _86000[0-4]X,n,Hangup()

; VICIDIAL conferences
exten => _86000[5-9]X,1,Meetme(${EXTEN},F)
exten => _86000[5-9]X,n,Hangup()
exten => _8600[1-2]XX,1,Meetme(${EXTEN},F)
exten => _8600[1-2]XX,n,Hangup()

; quiet entry and leaving conferences for VICIDIAL (inbound announce, SendDTMF and ring-agent)
exten => _78600XXX,1,Meetme(${EXTEN:1},Fq)
exten => _78600XXX,n,Hangup()

; quiet monitor-only extensions for meetme rooms (for room managers)
exten => _68600XXX,1,Meetme(${EXTEN:1},Fmq)
exten => _68600XXX,n,Hangup()

; Asterisk 1.8 workaround
exten => _58600XXX,1,Meetme(${EXTEN:1},Fmq)
exten => _58600XXX,n,Hangup()

; quiet monitor-only entry and leaving conferences for VICIDIAL (recording)
exten => _558600XXX,1,Meetme(${EXTEN:2},Fmq)
exten => _558600XXX,n,Hangup()

; voicelab exten
exten => _86009XX,1,Meetme(${EXTEN},Fmq)
; voicelab exten moderator
exten => _986009XX,1,Meetme(${EXTEN:1})



; park channel for client GUI parking, hangup after 30 minutes
;    create a GSM formatted audio file named "park.gsm" that is 30 minutes long
;    and put it in /var/lib/asterisk/sounds
exten => 8301,1,Answer()
exten => 8301,n,AGI(park_CID.agi)
exten => 8301,n,Playback(park)
exten => 8301,n,Hangup()
exten => 8303,1,Answer()
exten => 8303,n,AGI(park_CID.agi)
exten => 8303,n,Playback(conf)
exten => 8303,n,Hangup()

; park channel for client GUI conferencing, hangup after 30 minutes
;    create a GSM formatted audio file named "conf.gsm" that is 30 minutes long
;    and put it in /var/lib/asterisk/sounds
exten => 8302,1,Answer()
exten => 8302,n,Playback(conf)
exten => 8302,n,Hangup()

exten => 8304,1,Answer()
exten => 8304,n,Playback(ding)
exten => 8304,n,Hangup()

; default audio for safe harbor 2-second-after-hello message then hangup
;    create a GSM formatted audio file complies with safe harbor rules
;    and put it in /var/lib/asterisk/sounds then change filename below
exten => 8307,1,Answer()
exten => 8307,n,Playback(vm-goodbye)
exten => 8307,n,Hangup()

; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL
exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES)
exten => 8320,n,Hangup()
exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES)
exten => _8320*.,n,Hangup()

; these are used for the ring_all function in VICIDIAL
exten => _8331*.,1,Playback(sip-silence)
exten => _8331*.,n,AGI(agi-VDAD_RINGALL.agi,${EXTEN})
exten => _8331*.,n,AGI(agi-VDAD_RINGALL.agi,${EXTEN})
exten => _8331*.,n,AGI(agi-VDAD_RINGALL.agi,${EXTEN})
exten => _8331*.,n,Hangup()


; use for selective CallerID hangup by area code(hard-coded)
exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN})
exten => 8352,n,Playback(safe_harbor)
exten => 8352,n,Hangup()

; this is used for sending DTMF signals within conference calls, the client app
;    sends the digits to be played in the callerID field
;    sound files must be placed in /var/lib/asterisk/sounds
exten => 8500998,1,Answer()
exten => 8500998,n,Playback(silence)
exten => 8500998,n,AGI(agi-dtmf.agi)
exten => 8500998,n,Hangup()

; multi-remote-monitor entry extensions
exten => 8162,1,Dial(${TRUNKblind}/34567890123456789,55,to)
exten => 8162,n,Hangup()

exten => 34567890123456789,1,Answer()
exten => 34567890123456789,n,Goto(monitor,s,1)
exten => 34567890123456789,n,Hangup()

;#### VDAD STANDARD TRANSFER ENTRIES ####
; Below are the parameters needed for the agi-VDAD_ALL_outbound.agi script to be run properly
; 1. the method of call handling for the script:
;    - NORMAL -       <default> Standard outbound routing to agent
;    - TEST -       For performance testing only
;    - BROADCAST -   For no-agent broadcast dialing
;    - SURVEY -      For survery question then on to agent
;    - REMINDER -   Reminder campaign
;    - REMINDX -      Reminder with transfer to agent
; 2. the method of searching for an available agent:
;    - LB - <default> Load Balance total system
;    - LO - Load Balance Overflow only (priority to home server)
;    - SO - Home server only
; 3. the sound file to play when doing a SURVEY, REMINDER, REMINDX campaign
; 4. the acceptible dtmf digits for a SURVEY
; 5. the out-opt digit for a SURVEY (must be in the digit map)
; 6. the sound file to play for a SURVEY when transfering to an agent
; 7. the sound file to play for a SURVEY when DNCing the call
; 8. OPTIN or OPTOUT: if OPTIN call is only sent to agent with button press
;     if OPTOUT call is sent to agent if no button press at all
; 9. the status that is use for a SURVEY when someone opts out
;     if the status is DNC it will also add them to the internal dnc table

; Local channel resolution fix for Asterisk 13
exten => _1383XX,1,AGI(agi-VDAD_local_optimize.agi,${CONNECTEDLINE(name)})
exten => _1383XX,n,Wait(2)
exten => _1383XX,n,Hangup()

exten => _138331*.,1,AGI(agi-VDAD_local_optimize.agi,${CONNECTEDLINE(name)})
exten => _138331*.,n,Wait(2)
exten => _138331*.,n,Hangup()

; VICIDIAL_auto_dialer transfer script for no-agent campaigns:
exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8364,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB-----${CONNECTEDLINE(name)})
exten => 8364,n,Hangup()

; VICIDIAL_auto_dialer transfer script:
exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8365,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO-----${CONNECTEDLINE(name)})
exten => 8365,n,Hangup()

; VICIDIAL_auto_dialer transfer script SURVEY at beginning:
exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8366,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB-----${CONNECTEDLINE(name)})
exten => 8366,n,Hangup()

; VICIDIAL_auto_dialer transfer script Load Balance Overflow:
exten => 8367,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8367,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO-----${CONNECTEDLINE(name)})
exten => 8367,n,Hangup()

; VICIDIAL_auto_dialer transfer script Load Balanced:
exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8368,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB-----${CONNECTEDLINE(name)})
exten => 8368,n,Hangup()

; VICIDIAL_auto_dialer transfer script AMD with Load Balanced:
exten => 8369,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8369,n,Playback(sip-silence)
exten => 8369,n,AMD(2000,2000,1000,5000,120,50,4,256)
exten => 8369,n,AGI(VD_amd.agi,${EXTEN})
exten => 8369,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB-----${CONNECTEDLINE(name)})
exten => 8369,n,Hangup()

; VICIDIAL auto-dial reminder script
exten => 8372,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8372,n,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,n,Hangup()

; VICIDIAL SURVEY transfer script AMD with Load Balanced:
exten => 8373,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8373,n,Playback(sip-silence)
exten => 8373,n,AMD(2000,2000,1000,5000,120,50,4,256)
exten => 8373,n,AGI(VD_amd.agi,${EXTEN})
exten => 8373,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB-----${CONNECTEDLINE(name)})
exten => 8373,n,Hangup()

; VICIDIAL SURVEY transfer script with Cepstral names:
exten => 8374,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8374,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMPCEP-----LB-----${CONNECTEDLINE(name)})
exten => 8374,n,Hangup()

; VICIDIAL SURVEY transfer script AMD with Cepstral variables:
exten => 8375,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8375,n,Playback(sip-silence)
exten => 8375,n,AMD(2000,2000,1000,5000,120,50,4,256)
exten => 8375,n,AGI(VD_amd.agi,${EXTEN})
exten => 8375,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMPCEP-----LB-----${CONNECTEDLINE(name)})
exten => 8375,n,Hangup()

; BETA VICIDIAL_auto_dialer transfer script Load Balanced:
exten => 8377,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8377,n,Set(LRct=1)
exten => 8377,n,While($[${LRct} < 100])
exten => 8377,n,AGI(agi-VDAD_ALL_outboundBETA.agi,NORMAL-----LB-----${CONNECTEDLINE(name)})
exten => 8377,n,Set(LRct=$[${LRct} + 1])
exten => 8377,n,EndWhile()
exten => 8377,n,AGI(agi-VDAD_ALL_outboundBETA.agi,NORMAL-----LB-----${CONNECTEDLINE(name)})
exten => 8377,n,Hangup()


; PERFORMANCE TESTING
exten => _999XXXXXX1,1,Answer()
exten => _999XXXXXX1,n,Wait(2)
exten => _999XXXXXX1,n,Playback(vicidial-welcome)
exten => _999XXXXXX1,n,Hangup()

exten => _999XX11112,1,Wait(2)
exten => _999XX11112,n,Answer()
exten => _999XX11112,n,Playback(ss-noservice)
exten => _999XX11112,n,Playback(vm-goodbye)
exten => _999XX11112,n,Hangup()

exten => _999XX18112,1,Wait(2)
exten => _999XX18112,n,Answer()
exten => _999XX18112,n,Playback(vtiger-fax)
exten => _999XX18112,n,Playback(vtiger-fax)
exten => _999XX18112,n,Hangup()

exten => _999XX19112,1,Wait(2)
exten => _999XX19112,n,Answer()
exten => _999XX19112,n,Playback(vtiger-email)
exten => _999XX19112,n,Playback(vtiger-email)
exten => _999XX19112,n,Hangup()

exten => _999XXXX112,1,Wait(5)
exten => _999XXXX112,n,Answer()
exten => _999XXXX112,n,Playback(demo-instruct)
exten => _999XXXX112,n,Playback(demo-instruct)
exten => _999XXXX112,n,Hangup()

exten => _999XXXXXX2,1,Wait(8)
exten => _999XXXXXX2,n,Answer()
exten => _999XXXXXX2,n,Playback(demo-instruct)
exten => _999XXXXXX2,n,Hangup()

exten => _999XXXXXX3,1,Set(PRI_CAUSE=1)
exten => _999XXXXXX3,n,Hangup()

exten => _999XXXXXX4,1,Set(PRI_CAUSE=27)
exten => _999XXXXXX4,n,Hangup()

exten => _999XXXXXX5,1,Ringing
exten => _999XXXXXX5,n,Wait(120)
exten => _999XXXXXX5,n,Hangup()

exten => _999XXXXXX6,1,Wait(10)
exten => _999XXXXXX6,n,Answer()
exten => _999XXXXXX6,n,Playback(demo-instruct)
exten => _999XXXXXX6,n,Hangup()

exten => _999XXXXXX7,1,Wait(12)
exten => _999XXXXXX7,n,Answer()
exten => _999XXXXXX7,n,Playback(demo-enterkeywords)
exten => _999XXXXXX7,n,Hangup()

exten => _999XXXXXX8,1,Set(PRI_CAUSE=17)
exten => _999XXXXXX8,n,Hangup()

exten => _999XXXXXX9,1,Wait(6)
exten => _999XXXXXX9,n,Answer()
exten => _999XXXXXX9,n,Playback(demo-abouttotry)
exten => _999XXXXXX9,n,Hangup()

exten => _999XXXXXX0,1,Wait(5)
exten => _999XXXXXX0,n,Answer()
exten => _999XXXXXX0,n,Playback(vm-goodbye)
exten => _999XXXXXX0,n,Hangup()

;exten => 99999999999,1,Answer()
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Playback(conf)
;exten => 99999999999,n,Hangup()

; --------------------------
; ConfBridge Extensions
; --------------------------

; use to send a customer 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 agent 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()

; used to send an ringall agent channel into the conference
exten => _19600XXX,1,Answer()
exten => _19600XXX,n,Playback(sip-silence)
exten => _19600XXX,n,ConfBridge(${EXTEN:1},vici_agent_bridge,vici_ringall_user)
exten => _19600XXX,n,Hangup()


[monitor]
exten => h,1,AGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}-----${HANGUPCAUSE(${HANGUPCAUSE_KEYS()},tech)}))
exten => s,1,Set(TIMEOUT(digit)=10)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Set(MEETME_EXIT_CONTEXT=monitor_exit)
exten => s,n,Background(vm-extension) ; need audio prompt.
exten => s,n,WaitExten(10)
exten => s,n,Hangup()

exten => i,1,Goto(monitor_exit,s,1)
exten => i,n,Hangup()
exten => #,1,Goto(monitor_exit,s,1)
exten => #,n,Hangup()
exten => t,1,Goto(monitor_exit,s,1)
exten => t,n,Hangup()

exten => _8[0-2]XX,1,Meetme(8600${EXTEN:1},mqX) ; Listen
exten => _8[0-2]XX,n,Hangup()
exten => _99[0-2]XX,1,Meetme(8600${EXTEN:2},X)  ; Barge
exten => _99[0-2]XX,n,Hangup()

[monitor_exit]
exten => h,1,AGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}-----${HANGUPCAUSE(${HANGUPCAUSE_KEYS()},tech)}))
exten => _X,1,Goto(monitor,s,1)
exten => _X,n,Hangup()

exten => i,1,Goto(monitor,s,1)
exten => i,n,Hangup()
exten => #,1,Goto(monitor,s,1)
exten => #,n,Hangup()
exten => t,1,Goto(monitor,s,1)
exten => t,n,Hangup()

confbridge-vicidial.conf
Code: Select all
; 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


By the way one of the modules does not work if hear_own_join_sound parameter is set in the contexts and honestly don't know how to fix it
nelson_arguera
 
Posts: 5
Joined: Fri Oct 09, 2020 4:40 pm

Re: Vicidial Admin Monitor on conference just stops working

Postby nelson_arguera » Mon Sep 26, 2022 11:07 pm

As well I have set the manager.conf [confcron]
Code: Select all
[confcron]
secret = 1234
read = command,reporting
write = command,reporting

eventfilter=Event: Meetme
eventfilter=Event: Confbridge
nelson_arguera
 
Posts: 5
Joined: Fri Oct 09, 2020 4:40 pm

Re: Vicidial Admin Monitor on conference just stops working

Postby jamiemurray » Tue Oct 11, 2022 5:04 am

I saw this happening too, but had an issue with ConfBridge that rendered it unusable in my case and I haven't yet found the time to continue debugging so I'm back to Meetme.
However, I did extensive testing of ConfBridge, just a thought, not sure if this will work, but could be a starting point:
In confbridge-vicidial.conf change "marked=no" to "marked=yes" under the vici_monitor_user profile and then run
Code: Select all
rasterisk -x 'reload app_confbridge'
for it to take effect and test.
Skype: live:support_71847 | Tel: (US) +1 646 647 8850 (CA) +1 613 900 6456 (MX) +52 55 9990 3550 (UK) +44 1324 285022 (ES) +34 922 937 384
Managed Hosting - No tech skills required | VoIP Termination & DID numbering | https://jmurraysolutions.com
jamiemurray
 
Posts: 179
Joined: Fri Jan 11, 2013 4:12 pm
Location: Tenerife, Canary Islands

Re: Vicidial Admin Monitor on conference just stops working

Postby williamconley » Tue Oct 11, 2022 4:38 pm

May also be useful to post the asterisk CLI from that moment in case there's a ... hint. Perhaps with debug active if there's no hint without it.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20256
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: Vicidial Admin Monitor on conference just stops working

Postby nelson_arguera » Wed Oct 12, 2022 6:00 pm

jamiemurray wrote:I saw this happening too, but had an issue with ConfBridge that rendered it unusable in my case and I haven't yet found the time to continue debugging so I'm back to Meetme.
However, I did extensive testing of ConfBridge, just a thought, not sure if this will work, but could be a starting point:
In confbridge-vicidial.conf change "marked=no" to "marked=yes" under the vici_monitor_user profile and then run
Code: Select all
rasterisk -x 'reload app_confbridge'
for it to take effect and test.


I was able to make it work with exactly this, you also have to add the keepalives variables, patch the files that Matt added on extras, and now is working as a gem, and last step is to run perl install.pl on the trunk folder. I think also re-running the Perl install.pl helped because for me it worked partially, but then I did perl install.pl once again and now is working 100%
nelson_arguera
 
Posts: 5
Joined: Fri Oct 09, 2020 4:40 pm

Re: Vicidial Admin Monitor on conference just stops working

Postby nelson_arguera » Wed Oct 12, 2022 6:05 pm

Even though is just a beta version it's the first time I've felt an Asterisk installation so smooth! Is a bit more resource-demanding but is totally worth it.
nelson_arguera
 
Posts: 5
Joined: Fri Oct 09, 2020 4:40 pm

Re: Vicidial Admin Monitor on conference just stops working

Postby mflorell » Thu Oct 13, 2022 6:36 am

Thanks for the feedback!

Please let us know how it runs for you in production.
mflorell
Site Admin
 
Posts: 18384
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida


Return to Support

Who is online

Users browsing this forum: Majestic-12 [Bot] and 128 guests