So looking for suggestions/advice on how I should configure this system, here is what I have:
-6 companies in total all with their own DID
-5 companies are primarily inbound only, with some manual outbound for customer follow up etc...
-1 company that makes outbound calls through dialer primarily to schedule appointments
-1 company that needs to make calls out based on a ftp list for reminders
-All agents need to be able to access all inbound
So far I have created a dialplan to change caller id based on the prefix:
- Code: Select all
Normal Outbound Dialing, Dial with 1 and Area Code
exten => _9[1]NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9[1]NXXNXXXXXX,2,Macro(direct-dial,${EXTEN:1})
exten => _9[1]NXXNXXXXXX,3,Hangup()
Normal Outbound Dialing, Dial with Area Code
exten => _9NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9NXXNXXXXXX,2,Macro(direct-dial,1${EXTEN:1})
exten => _9NXXNXXXXXX,3,Hangup()
Normal Outbound Dialing, Local Dialing
exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9NXXXXXX,2,Macro(direct-dial,1405${EXTEN:1})
exten => _9NXXXXXX,3,Hangup()
Castle Outbound Dialing, Dial with 1 and Area Code
exten => _8[1]NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _8[1]NXXNXXXXXX,2,Set(CALLERID(num)=1888248####)
exten => _8[1]NXXNXXXXXX,3,Macro(direct-dial,${EXTEN:1})
exten => _8[1]NXXNXXXXXX,4,Hangup()
Castle Outbound Dialing, Dial with Area Code
exten => _8NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _8NXXNXXXXXX,2,Set(CALLERID(num)=1888248####)
exten => _8NXXNXXXXXX,3,Macro(direct-dial,1${EXTEN:1})
exten => _8NXXNXXXXXX,4,Hangup()
Castle Outbound Dialing, Local Dialing
exten => _8NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _8NXXXXXX,2,Set(CALLERID(num)=1888248####)
exten => _8NXXXXXX,3,Macro(direct-dial,1405${EXTEN:1})
exten => _8NXXXXXX,4,Hangup()
This has a failover macro in the system settings -> custom dialplan enty along with it's own carrier called providers to call out through the other carriers thanks to advice by mflorell:
- Code: Select all
[macro-direct-dial]
exten => s,1,Set(CALL_ATTEMPT=1)
exten => s,2,Set(TERM_PROVIDER=${TERM_PROVIDER1})
exten => s,3,Dial(${TERM_PROVIDER}/${ARG1},60)
exten => s,4,GotoIf($["${CALL_ATTEMPT}" >= "${MAX_PROVIDERS}"]?s-CANCEL,1)
exten => s,5,Set(CALL_ATTEMPT=$[${CALL_ATTEMPT} + 1])
exten => s,6,Goto(s-${DIALSTATUS},1)
exten => s-BUSY,1,Noop()
exten => s-NOANSWER,1,Noop()
exten => s-CANCEL,1,Hangup()
exten => s-HANGUP,1,Hangup()
exten => s-CHANUNAVAIL,1,Set(TERM_PROVIDER=${EVAL(${TERM_PROVIDER${CALL_ATTEMPT}})})
exten => s-CHANUNAVAIL,2,Goto(s,3)
exten => s-CONGESTION,1,Set(TERM_PROVIDER=${EVAL(${TERM_PROVIDER${CALL_ATTEMPT}})})
exten => s-CONGESTION,2,Goto(s,3)
So if someone dials a 9 it uses the defined caller id, 8 Company A, 7 Company B, so on and so forth.
Now this is where I need advice, here is what I was thinking:
Pre-req: All agents need to be able to access any ingroup, but not all agents need to take dialer calls.
Create 4 campaigns
- Incoming - The has all ingroups included and allow agents to choose
- Camp2 - That has all ingroups and also includes the list for our dialer outbound
- Broadcast - That does our reminder to take medication
- Reminder - That runs list that we get daily on people who didn't complete a task by Noon
Then agents change the callerid when they are dialing outbound they change the prefix from 9 to the company they need. This may seem like it could be difficult on an agent but this is actually how our current system works on FreePBX. If there is an easier way that would be great but they are use to changing their outbound prefix
Yes, I have the Manager Manual just looking to see if my process is right or wrong.
I do have group alias enabled, and I was looking at In-Group Manual Dial; but we want to be able to see how many and who the agent is calling and from reading it looks like calls would show as incoming to that group in reports is this correct assumption?
VERSION: 2.14-621a
BUILD: 170717-1444