Voip basé sur asterisk
khatamtam
-
tototf -
tototf -
Bonjour,
j'ai en train de faire mon projet de fin d'etude qu'est l'etude et la mise en place d'une solution voip basé sur un logiciel libre nommé asterisk ,je fait la configuration de ce logiciel mais lorsque je fait le test je trouve des problemes au niveau de la boite vocale et la file d'attente .
merci de m'aider
car il ne me reste plus de temps pour la setenance .
merci
j'ai en train de faire mon projet de fin d'etude qu'est l'etude et la mise en place d'une solution voip basé sur un logiciel libre nommé asterisk ,je fait la configuration de ce logiciel mais lorsque je fait le test je trouve des problemes au niveau de la boite vocale et la file d'attente .
merci de m'aider
car il ne me reste plus de temps pour la setenance .
merci
A voir également:
- Voip basé sur asterisk
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Gigaset as470h base ✓ - Forum telephonie fixe
- Formules excel de base - Guide
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
1 réponse
;Dans le fichier agents.conf
;-----------------------------------
[agents]
persistentagents=yes
recordagentcalls=yes
wrapuptime=5000
recordformat=gsm
ackcall=no
group=1
agent => 001,,Jeanine Araujo
agent => 002,,Jesus Velasquez
-----------------------------------
;End of Example from agents.conf
;;Dans le fichier queues.conf
;-----------------------------------
[general]
persistentmembers = yes
autofill=yes
[default]
#include queues_custom.conf
#include queues_additional.conf
#include queues_post_custom.conf
;---------------------------------------------
;end of queues.conf
queues_additional.conf example of queue 601
--------------------------------------------
[603]
announce-frequency=0
announce-holdtime=no
eventmemberstatus=no
eventwhencalled=yes
joinempty=yes
leavewhenempty=no
maxlen=0
monitor-type=mixmonitor
monitor-format=gsm
music=default
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
retry=5
strategy=leastrecent
timeout=15
wrapuptime=0
---------------------------------------------
extensions_override_freepbx.conf
---------------------------------------------
[agent-login]
exten => 600*,1,Macro(login-agent-queue,600)
exten => 600**,1,Macro(logout-agent-queue,600)
exten => 601*,1,Macro(login-agent-queue,601)
exten => 601**,1,Macro(logout-agent-queue,601)
----------------------------------------
extensions_custom.conf
----------------------------------------
; ARG1 queue number to log into, agent number will be asked by IVR, see below.
[macro-login-agent-queue]
exten => s,1,Answer
exten => s,n,set(play=1) ;Inicialmente hacemos play del mensaje final
exten => s,n,Read(agentNum|agent-user|5||3|5) ; get callback number from user
exten => s,n,NoOp(Logeando a agentNum=[${agentNum}] callerid=[${CALLERID(NUM)}] status agente=[${AGENT(${agentNum})}])
;Asterisk 1.2 exten => s,n,AgentCallbackLogin(${agentNum}||${CALLERID(NUM)}@local)
exten => s,n,GotoIf($["${AGENT(${agentNum})}" = "LOGGEDOUT"]?agentLogin:addQueue)
exten => s,n(agentLogin),set(play=0)
exten => s,n,AgentCallbackLogin(${agentNum}||${CALLERID(NUM)})
exten => s,n(addQueue),AddQueueMember(${ARG1},Agent/${agentNum})
exten => s,n,UserEvent(Agentlogin,Agent: Agent/${agentNum}))
exten => s,n,GotoIf($[${play} = 1]?play)
exten => s,n,Hangup()
exten => s,n(play),playback(agent-loginok)
exten => s,n,hangup
[macro-logout-agent-queue]
exten => s,1,Answer
exten => s,n,Read(agentNum|agent-user|5||3|5) ; get callback number from user
exten => s,n,RemoveQueueMember(${ARG1},Agent/${agentNum})
exten => s,n,AgentCallbackLogin(${agentNum}||)
exten => s,n,UserEvent(RefreshQueue)
exten => s,n,Hangup()
----------------------------------------
************
new queues.conf file
[general]
;Operator Home
[extensions-home]
music=default
strategy=ringall
maxlen=0
context=extensions-home
member => Agent/300
member => Agent/301
member => Agent/310
member => Agent/311
member => Agent/312
member => Agent/313
member => Agent/314
member => Agent/499
member => Agent/500
member => Agent/510
member => Agent/511
member => Agent/512
***************************
Thanks
Chuck Bunn wrote:
> Hi,
>
> I have now tried other strategies including random and round robin. I
> am beginning to think there is some sort of bug with Agent groups? I
> will try assigning members to a queue not by their group but
> individually.
>
> Thanks
>
> Chuck Bunn wrote:
>
>> Hi,
>>
>> In the queue.conf I have set the strategy set to ringall but only the
>> lowest
>> agent number ever rings??? A show agents at the CLI shows three
>> agents logged
>> in yet only the first agent ever rings. I have my agents in a group,
>> group 1.
>>
>> ****************
>> queue.conf
>>
>> [general]
>>
>> ;Operator Home
>> [extensions-home]
>> music=default
>> strategy=ringall
>> maxlen=0
>> context=extensions-home
>> member => Agent/@1
>>
>> ******************
>> agents.conf
>>
>> [agents]
>> wrapuptime=0
>> musiconhold => default
>> updatecdr=yes
>>
>> ;Operator - Home
>> group=1
>> agent => 300,300,name1
>> agent => 301,301,name2
>>
>> agent => 310,310,name3
>> agent => 311,311,name4
>> agent => 312,312,name5
>> agent => 313,313,name6
>> agent => 314,314,name7
>>
>> agent => 499,499,name8
>>
>> ;Operator - Spa
>> agent => 500,500,name9
>>
>> agent => 510,510,name10
>> agent => 511,511,name11
>> agent => 512,512,name12
>>
>> ;Operator - Rest
>> group=2
>> agent => 600,600,name13
>>
>> ****************************
>> extensions.conf
>>
>> [general]
>> #include macros.incl
>>
>> [incoming-home]
>> exten => s,1,Goto(extensions-home,100,1)
>> exten => t,1,Goto(extensions-home,100,1)
>> exten => i,1,Goto(extensions-home,100,1)
>>
>> [extensions-home]
>> include => parkedcalls
>>
>> ;Operator queue, Operator Console, and Receptionist Phone
>> exten => 100,1,Answer()
>> exten => 100,2,Queue(extensions-home|trn|||120)
>>
>> ;Office Personnel
>> exten => _30[0-1],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _31[0-4],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _399,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _40[0-1],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _499,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>>
>> ;Spa Personnel
>> exten => _500,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _51[0-2],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => 590,1,Dial(ZAP/3,20)
>>
>> ;Voicemail Main
>> exten => 800,1,Answer
>> exten => 800,2,VoicemailMain
>>
>> ;Agent Login
>> exten => 801,1,AgentCallbackLogin(,, at extensions-home)
>>
>> ;Voice Conferencing
>> exten => _85X,1,Answer
>> exten => _85X,2,MeetMe(${EXTEN})
>>
>> ;exten => i,1,Voicemail(s300)
>> ;exten => t,1,Voicemail(s300)
>>
>> exten => fax,1,Dial(ZAP/4,20)
>> exten => fax,2,Congestion
>> exten => fax,102,Congestion
>>
>> [local]
>> ignorepat => 9
>> exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
>> exten => _9NXXXXXX,2,Congestion(5)
>> exten => _9NXXXXXX,102,congestion(5)
>> exten => 911,1,Dial(${OUTBOUNDTRUNK}/911)
>> exten => 9911,1,Dial(${OUTBOUNDTRUNK}/911
>> include => extensions-home
>>
>> [longdistance]
>> ignorpat => 9
>> exten => _91NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
>> exten => _91NXXNXXXXXX,2,Congestion(5)
>> exten => _91NXXNXXXXXX,102,congestion(5)
>> include => local
>>
>>
>> [globals]
>> OUTBOUNDTRUNK=Zap/G1
>>
>> PSTN1=Zap/1
>> PSTN2=Zap/2
>>
>> PHONE1=Zap/3
>> PHONE2=Zap/4
>>
>> ************************
>> CLI Output
>>
>> ....
>> Starting simple switch on 'Zap/1-1'
>> -- Executing Goto("Zap/1-1", "extensions-home|100|1") in new stack
>> -- Goto (extensions-home,100,1)
>> -- Executing Answer("Zap/1-1", "") in new stack
>> -- Executing Queue("Zap/1-1", "extensions-home|trn|||120") in new
>> stack
>> -- outgoing agentcall, to agent '300', on
>> 'Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,1'
>>
>> -- Called Agent/@1
>> -- Executing Macro("Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,2",
>>
>> "stdexten|300|SIP/300") in new stack
>> -- Executing Dial("Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,2",
>> "SIP/300|20") in new
>> stack
>> -- Called 300
>> -- SIP/300-00ed is ringing
>> -- Agent/300 is ringing
>> -- SIP/300-00ed answered Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,2
>>
>> -- Agent/300 answered Zap/1-1
>> ...
>>
>> Thanks
;-----------------------------------
[agents]
persistentagents=yes
recordagentcalls=yes
wrapuptime=5000
recordformat=gsm
ackcall=no
group=1
agent => 001,,Jeanine Araujo
agent => 002,,Jesus Velasquez
-----------------------------------
;End of Example from agents.conf
;;Dans le fichier queues.conf
;-----------------------------------
[general]
persistentmembers = yes
autofill=yes
[default]
#include queues_custom.conf
#include queues_additional.conf
#include queues_post_custom.conf
;---------------------------------------------
;end of queues.conf
queues_additional.conf example of queue 601
--------------------------------------------
[603]
announce-frequency=0
announce-holdtime=no
eventmemberstatus=no
eventwhencalled=yes
joinempty=yes
leavewhenempty=no
maxlen=0
monitor-type=mixmonitor
monitor-format=gsm
music=default
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
retry=5
strategy=leastrecent
timeout=15
wrapuptime=0
---------------------------------------------
extensions_override_freepbx.conf
---------------------------------------------
[agent-login]
exten => 600*,1,Macro(login-agent-queue,600)
exten => 600**,1,Macro(logout-agent-queue,600)
exten => 601*,1,Macro(login-agent-queue,601)
exten => 601**,1,Macro(logout-agent-queue,601)
----------------------------------------
extensions_custom.conf
----------------------------------------
; ARG1 queue number to log into, agent number will be asked by IVR, see below.
[macro-login-agent-queue]
exten => s,1,Answer
exten => s,n,set(play=1) ;Inicialmente hacemos play del mensaje final
exten => s,n,Read(agentNum|agent-user|5||3|5) ; get callback number from user
exten => s,n,NoOp(Logeando a agentNum=[${agentNum}] callerid=[${CALLERID(NUM)}] status agente=[${AGENT(${agentNum})}])
;Asterisk 1.2 exten => s,n,AgentCallbackLogin(${agentNum}||${CALLERID(NUM)}@local)
exten => s,n,GotoIf($["${AGENT(${agentNum})}" = "LOGGEDOUT"]?agentLogin:addQueue)
exten => s,n(agentLogin),set(play=0)
exten => s,n,AgentCallbackLogin(${agentNum}||${CALLERID(NUM)})
exten => s,n(addQueue),AddQueueMember(${ARG1},Agent/${agentNum})
exten => s,n,UserEvent(Agentlogin,Agent: Agent/${agentNum}))
exten => s,n,GotoIf($[${play} = 1]?play)
exten => s,n,Hangup()
exten => s,n(play),playback(agent-loginok)
exten => s,n,hangup
[macro-logout-agent-queue]
exten => s,1,Answer
exten => s,n,Read(agentNum|agent-user|5||3|5) ; get callback number from user
exten => s,n,RemoveQueueMember(${ARG1},Agent/${agentNum})
exten => s,n,AgentCallbackLogin(${agentNum}||)
exten => s,n,UserEvent(RefreshQueue)
exten => s,n,Hangup()
----------------------------------------
************
new queues.conf file
[general]
;Operator Home
[extensions-home]
music=default
strategy=ringall
maxlen=0
context=extensions-home
member => Agent/300
member => Agent/301
member => Agent/310
member => Agent/311
member => Agent/312
member => Agent/313
member => Agent/314
member => Agent/499
member => Agent/500
member => Agent/510
member => Agent/511
member => Agent/512
***************************
Thanks
Chuck Bunn wrote:
> Hi,
>
> I have now tried other strategies including random and round robin. I
> am beginning to think there is some sort of bug with Agent groups? I
> will try assigning members to a queue not by their group but
> individually.
>
> Thanks
>
> Chuck Bunn wrote:
>
>> Hi,
>>
>> In the queue.conf I have set the strategy set to ringall but only the
>> lowest
>> agent number ever rings??? A show agents at the CLI shows three
>> agents logged
>> in yet only the first agent ever rings. I have my agents in a group,
>> group 1.
>>
>> ****************
>> queue.conf
>>
>> [general]
>>
>> ;Operator Home
>> [extensions-home]
>> music=default
>> strategy=ringall
>> maxlen=0
>> context=extensions-home
>> member => Agent/@1
>>
>> ******************
>> agents.conf
>>
>> [agents]
>> wrapuptime=0
>> musiconhold => default
>> updatecdr=yes
>>
>> ;Operator - Home
>> group=1
>> agent => 300,300,name1
>> agent => 301,301,name2
>>
>> agent => 310,310,name3
>> agent => 311,311,name4
>> agent => 312,312,name5
>> agent => 313,313,name6
>> agent => 314,314,name7
>>
>> agent => 499,499,name8
>>
>> ;Operator - Spa
>> agent => 500,500,name9
>>
>> agent => 510,510,name10
>> agent => 511,511,name11
>> agent => 512,512,name12
>>
>> ;Operator - Rest
>> group=2
>> agent => 600,600,name13
>>
>> ****************************
>> extensions.conf
>>
>> [general]
>> #include macros.incl
>>
>> [incoming-home]
>> exten => s,1,Goto(extensions-home,100,1)
>> exten => t,1,Goto(extensions-home,100,1)
>> exten => i,1,Goto(extensions-home,100,1)
>>
>> [extensions-home]
>> include => parkedcalls
>>
>> ;Operator queue, Operator Console, and Receptionist Phone
>> exten => 100,1,Answer()
>> exten => 100,2,Queue(extensions-home|trn|||120)
>>
>> ;Office Personnel
>> exten => _30[0-1],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _31[0-4],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _399,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _40[0-1],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _499,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>>
>> ;Spa Personnel
>> exten => _500,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => _51[0-2],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
>> exten => 590,1,Dial(ZAP/3,20)
>>
>> ;Voicemail Main
>> exten => 800,1,Answer
>> exten => 800,2,VoicemailMain
>>
>> ;Agent Login
>> exten => 801,1,AgentCallbackLogin(,, at extensions-home)
>>
>> ;Voice Conferencing
>> exten => _85X,1,Answer
>> exten => _85X,2,MeetMe(${EXTEN})
>>
>> ;exten => i,1,Voicemail(s300)
>> ;exten => t,1,Voicemail(s300)
>>
>> exten => fax,1,Dial(ZAP/4,20)
>> exten => fax,2,Congestion
>> exten => fax,102,Congestion
>>
>> [local]
>> ignorepat => 9
>> exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
>> exten => _9NXXXXXX,2,Congestion(5)
>> exten => _9NXXXXXX,102,congestion(5)
>> exten => 911,1,Dial(${OUTBOUNDTRUNK}/911)
>> exten => 9911,1,Dial(${OUTBOUNDTRUNK}/911
>> include => extensions-home
>>
>> [longdistance]
>> ignorpat => 9
>> exten => _91NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
>> exten => _91NXXNXXXXXX,2,Congestion(5)
>> exten => _91NXXNXXXXXX,102,congestion(5)
>> include => local
>>
>>
>> [globals]
>> OUTBOUNDTRUNK=Zap/G1
>>
>> PSTN1=Zap/1
>> PSTN2=Zap/2
>>
>> PHONE1=Zap/3
>> PHONE2=Zap/4
>>
>> ************************
>> CLI Output
>>
>> ....
>> Starting simple switch on 'Zap/1-1'
>> -- Executing Goto("Zap/1-1", "extensions-home|100|1") in new stack
>> -- Goto (extensions-home,100,1)
>> -- Executing Answer("Zap/1-1", "") in new stack
>> -- Executing Queue("Zap/1-1", "extensions-home|trn|||120") in new
>> stack
>> -- outgoing agentcall, to agent '300', on
>> 'Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,1'
>>
>> -- Called Agent/@1
>> -- Executing Macro("Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,2",
>>
>> "stdexten|300|SIP/300") in new stack
>> -- Executing Dial("Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,2",
>> "SIP/300|20") in new
>> stack
>> -- Called 300
>> -- SIP/300-00ed is ringing
>> -- Agent/300 is ringing
>> -- SIP/300-00ed answered Local/300 at extensions-home-b560
>> <javascript:open_compose_win('to=300%40extensions-home-b560&thismailbox=sent-mail');>,2
>>
>> -- Agent/300 answered Zap/1-1
>> ...
>>
>> Thanks