PDA

Voir la version complète : Horaire d'ouverture avec message lorsque l'appel et hors des plages horaires



asmodaisda
04/02/2014, 17h57
Bonjour,

Je tourne en rond avec GotoIfTime et iftime. Je sollicite donc votre aide :)
http://www.voip-info.org/wiki/view/Asterisk+func+iftime
http://www.voip-info.org/wiki/view/Asterisk+cmd+GotoIfTime


Je souhaite faire en sorte que lorsque l'appel est compris dans la plage horaire 8h20-18h10 du lundi au vendredi celui-ci suive le context semaine. Si la plage horaire n'est pas respecté celui-ci suive le context autre.

J'ai essayé avec exten => s,n,(context) mais cela ne marche pas :

NOTICE[3593]: pbx.c:4530 pbx_extension_helper: No such label 'semaine' in extension '123' in context 'pbx_config'
[Feb 4 16:34:19]
WARNING[3593]: pbx.c:10836 pbx_parseable_goto: Priority 'semaine' must be a number > 0, or valid label

exten => 123,1,Answer()
exten => 123,2,Set(HEURE=${IFTIME(08:20-18:10,mon-fri,*,*?FERME:OUVERT)})
exten => 123,3,GotoIf($[${HEURE}=OUVERT]?semaine:samedi)
exten => s,n,(semaine),Dial(SIP/111)
exten => s,n,(samedi)Playback(accueil-standard0)


J'ai donc alors essayé avec les contexts mais pas mieux:
NOTICE[2829]: chan_sip.c:22753 handle_request_invite: Call from '100' (192.168.1.212:5060) to extension '123' rejected because extension not found in context 'pbx_config'.

[semaine]
exten => 124,1,Answer()
exten => 124,2,Dial(SIP/111,10,tr)
exten => 124,3,VoiceMail(6000)
exten => 124,4,playBack(vm-goodbye)
exten => 124,5,HangUp()


[samedi]
exten => 125,1,Answer()
exten => 125,2,Playback(accueil-standard0)

Je tourne en rond car je ne je ne voix pas comment mettre dans le contexte [pbx_config] les contextes semaine et samedi.

J'ai mis dans le sip.conf

[125]
type=friend
host=dynamic
username=125
secret=test
context=samedi

[124]
type=friend
host=dynamic
username=124
secret=test
context=semaine

La commande dialplan show default donne :
NOTICE[2829]: chan_sip.c:22753 handle_request_invite: Call from '100' (192.168.1.212:5060) to extension '123' rejected because extension not found in context 'pbx_config'.
telephonie*CLI> dialplan show default
[ Context 'default' created by 'pbx_lua' ]
Alt. Switch => 'Lua/' [pbx_lua]

-= 0 extensions (0 priorities) in 1 context. =-



La commande dialplan show donne :

[ Context 'parkedcalls' created by 'features' ]
'700' => 1. Park() [features]

[ Context 'app_dial_gosub_virtual_context' created by 'app_dial' ]
's' => 1. NoOp() [app_dial]

[ Context 'app_queue_gosub_virtual_context' created by 'app_queue' ]
's' => 1. NoOp() [app_queue]

[ Context 'local' created by 'pbx_lua' ]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'demo' created by 'pbx_lua' ]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'default' created by 'pbx_lua' ]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'standard' created by 'pbx_config' ]
'123' => 1. Answer() [pbx_config]
2. Set(HEURE=${IFTIME(08:20-14:10,mon-fri,*,*?FERME:OUVERT)} ) [pbx_config]
3. GotoIf($[${HEURE}=OUVERT]?semaine:samedi) [pbx_config]
's' => 4. (semaine),Dial(SIP/111) [pbx_config]
5. (samedi)Playback(accueil-standard0) [pbx_config]

[ Context 'samedi' created by 'pbx_config' ]
'125' => 1. Answer() [pbx_config]
2. Playback(accueil-standard0) [pbx_config]

[ Context 'semaine' created by 'pbx_config' ]
'124' => 1. Answer() [pbx_config]
2. Dial(SIP/111,10,tr) [pbx_config]
3. VoiceMail(6000) [pbx_config]
4. playBack(vm-goodbye) [pbx_config]
5. HangUp() [pbx_config]

[ Context 'pbx_config' created by 'pbx_config' ]
'111' => 1. Dial(SIP/111,10,tr) [pbx_config]
2. VoiceMail(6000) [pbx_config]
3. playBack(vm-goodbye) [pbx_config]
4. HangUp() [pbx_config]
'222' => 1. Dial(SIP/222,10,tr) [pbx_config]
2. VoiceMail(6000) [pbx_config]
3. playBack(vm-goodbye) [pbx_config]
4. HangUp() [pbx_config]
'333' => 1. agi(googletts.agi,"hi i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i A ",fr) [pbx_config]
3. playBack(vm-goodbye) [pbx_config]
4. HangUp() [pbx_config]
'334' => 1. Answer() [pbx_config]
2. Playback(accueil-standard0) [pbx_config]
3. Dial(SIP/111,20,tr) [pbx_config]
4. VoiceMail(6000) [pbx_config]
5. playBack(vm-goodbye) [pbx_config]
6. HangUp() [pbx_config]
'444' => 1. GoToIfTime(08:50-18:10|mon-fri|*|*?333,1) [pbx_config]
'601' => 1. Playback(dictate/record&vm-then-pound) [pbx_config]
2. Record(en/accueil-standard%d.gsm) [pbx_config]
3. Playback(beep) [pbx_config]
4. Playback(${RECORDED_FILE}) [pbx_config]
5. Hangup() [pbx_config]

[ Context 'open' created by 'pbx_config' ]

-= 13 extensions (38 priorities) in 11 contexts. =-



Par avance merci pour votre aide :-D

jean
04/02/2014, 20h39
NOTICE[3593]: pbx.c:4530 pbx_extension_helper: No such label 'semaine' in extension '123' in context 'pbx_config'
[Feb 4 16:34:19]
WARNING[3593]: pbx.c:10836 pbx_parseable_goto: Priority 'semaine' must be a number > 0, or valid label

exten => s,n,(semaine),Dial(SIP/111)
exten => s,n,(samedi)Playback(accueil-standard0)


tu as trois niveaux: context, extension, priorité
une priorité, numérique, peut être remplacée par un label (genre, semaine) en collant entre parenthses le label au n

exten => s,n(semaine),Dial.........

note la place de la virgule...

donc, reprend ton 1er exemple en corrigeant juste ca

asmodaisda
05/02/2014, 18h01
Bonjour,

Merci de ta réponse mais malheureusement cela ne fonctionne pas même message d'erreur :

NOTICE[3195]: pbx.c:4530 pbx_extension_helper: No such label 'semaine' in extension '123' in context 'pbx_config'

WARNING[3195]: pbx.c:10836 pbx_parseable_goto: Priority 'semaine' must be a number > 0, or valid label


Pourtant j'ai ça dans extensions.conf:

[pbx_config]


exten => 123,1,Answer()
exten => 123,2,Set(HEURE=${IFTIME(08:20-14:10,mon-fri,*,*?FERME:OUVERT)})
exten => 123,3,GotoIf($[${HEURE}=OUVERT]?semaine:samedi)
exten => s,n(semaine),Dial(SIP/111)
exten => s,n(samedi)Playback(accueil-standard0)



Auriez vous une autre solution ?

Par avance un grand merci ;)





tu as trois niveaux: context, extension, priorité
une priorité, numérique, peut être remplacée par un label (genre, semaine) en collant entre parenthses le label au n

exten => s,n(semaine),Dial.........

note la place de la virgule...

donc, reprend ton 1er exemple en corrigeant juste ca

jean
05/02/2014, 22h46
as tu fait dialplan reload ?

ensuite :

exten => 123,3,GotoIf($[${HEURE}=OUVERT]?semaine:samedi)
je mettrai:

exten => 123,3,GotoIf($["${HEURE}"="OUVERT"]?semaine:samedi)

et

exten => s,n(samedi)Playback(accueil-standard0)
à corriger...

uis dialplan reload, core set verbose 3, et copier tout

asmodaisda
07/02/2014, 18h18
Merci pour ton aide Jean

Je n'avais pas compris la commande


La fonction GoToIfTime() permet de spécifier une plage horaire. Si la condition est remplie une fonction Goto() est exécuté, sinon on passe à la priorité suivante.

GotoIfTime(18:00-8:00|mon-fri|*|*?123,3) >> si l'appel est passé entre entre 8h00 et 18h00, du lundi au vendredi, l'appel passe, sinon l'appel est renvoyer vers la messagerie vocale qui est indiquer en fin de la première ligne 123,3


exten => 123,1,GotoIfTime(18:00-8:00|mon-fri|*|*?123,3)
exten => 123,2,Dial(SIP/111,15,tr)
exten => 123,3,playBack(vm-goodbye)
exten => 123,4,HangUp()

jean
07/02/2014, 19h46
exten => 123,1,GotoIfTime(18:00-8:00|mon-fri|*|*?123,3)
exten => 123,2,Dial(SIP/111,15,tr)
exten => 123,3,playBack(vm-goodbye)
exten => 123,4,HangUp()

idéalement, tu écris cela comme ça:


exten => 123,1,GotoIfTime(18:00-8:00|mon-fri|*|*?goodbye)
same => n,Dial(SIP/111,15,tr)
same => n(goodbye),playBack(vm-goodbye)
same => n,HangUp()

same existe depuis la 1.8, bien mieux pour les copier coller,
et le label pour pouvoir facilement insérer des lignes