Toujours pas trouvé de mon coté ... Does anyone know the solution ?
Toujours pas trouvé de mon coté ... Does anyone know the solution ?
Tu n'as pas du bcp cherché. Essaie de lire un bouquin complet abordant asterisk style "the asterisk book" ou autre qui te donnera deja quelques bases avec des exercices simples que tu pratiqueras.
Tu ne veux pas une messagerie globale puisque chacun dans tes exemple a sa propre messagerie. Tu veux en fait juste un numero ou se trouve un petit automate vocal demandant l'une des boite vocale a acceder.
Tous les standards font ca mais tu peux le refaire bien sur.
Il faut juste regarder comment on appelle la messagerie dans le dialplan et aussi comprendre les contextes pour les boites vocales.
Voila un exemple simplifié pour toi: ( a completer et a adapter pour un truc "beton" )
Fastm3.Code:exten => 6000,1,Answer exten => 6000,n,Wait(1) exten => 6000,n,Noop(Asking for mailbox) exten => 6000,n,Read(MAILBOX,monmessagedemandantboitevocale,,,3,2) exten => 6000,n(check),Noop( Got Mailbox ${MAILBOX}) exten => 6000,n,MailBoxExists(${MAILBOX}@default) exten => 6000,n,GotoIf($["${VMBOXEXISTSSTATUS}" = "SUCCESS"]?good:bad) exten => 6000,n,Macro(hangupcall,) exten => 6000,n(good),Noop( Good mailbox ${MAILBOX}) exten => 6000,n,VoiceMailMain(${MAILBOX}@default) exten => 6000,n,Macro(hangupcall,) exten => 6000,n(bad),Noop(BAD mailbox ${MAILBOX}) exten => 6000,n,Macro(hangupcall,)
je ne sais pas si j'ai bien compris ta question, mais dans un Elastix (la distribution que j'ai installée) c'est inclus en standard.
Le code*97 donne accès à sa propre boîte vocale et demande donc directement le mot de passe.
Le code*98 demande d'abord le numéro de la boîte vocale à laquelle on veut accéder, et ensuite le mot de passe. Si celui-ci est correct on accède à la boîte vocale en question.
Comme je commence tout juste avec Asterisk, je ne veux pas être trop affirmatif mais j'ai l'impression que c'est une fonction qui appartient à Asterisk lui-même.
Sinon tu n'as qu'à tester Elastix, ça marche très bien, je l'ai vérifié.
J'ai bien cherché de mon coté et ce que j'ai fait est tout simplement un VoicmailMain qui me demande un numéro de poste et un mot de passe.
Or peu importe ce que je mets, j'ai toujours un "Login Incorrect"
Voicmail.conf
Extensions.confCode:[general] format=wav49|gsm|wav ;serveremail=maison-voicemail@test.com ;attach=yes maxsilence=10 silencethreshold=128 maxlogins=3 sendvoicemail=yes [work] 101 => ,101 102 => ,102
J'aimerais donc accéder à cette messagerie au 12345 depuis n'importe quel poste, ce qui fonctionne, mais je n'arrive pas à retomber sur la messagerie souhaité de tel ou tel poste car comme dis plus haut, j'ai toujours un "Login Incorrect".Code:[general] static=yes writeprotect=no clearglobalvars=no [globals] CONSOLE=Console/dsp ; Console interface for demo IAXINFO=guest ; IAXtel username/password TRUNK=DAHDI/G2 ; Trunk interface TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) [work] include => parkedcalls ;Boite vocale globale - En cours - exten => 12345,1,VoiceMailMain ;Appel des trois postes simulatement exten => 100,1,Dial(SIP/101&SIP/102&SIP/103) exten => 101,1,Dial(SIP/${EXTEN},20) exten => 101,2,VoiceMail(${EXTEN}@work) exten => 102,1,Dial(SIP/${EXTEN},20) exten => 102,2,VoiceMail(${EXTEN}@work) exten => 103,1,Dial(SIP/${EXTEN},20) exten => 103,2,Dial(SIP/101&SIP/102) ;Numéro de la boite vocale exten => 1234,1,VoiceMailMain(${CALLERID(num)}@work) ;Extensions des salles de conférences exten => 1240,1,MeetMe(1240) exten => 1250,1,MeetMe(1250,d)
Si ça peut vous servir, voici le code concernant *98 dans Elastix :
Code:[app-dialvm] include => app-dialvm-custom exten => *98,1,Answer exten => *98,n(start),Wait(1) exten => *98,n,Noop(app-dialvm: Asking for mailbox) exten => *98,n,Read(MAILBOX,vm-login,,,3,2) exten => *98,n(check),Noop(app-dialvm: Got Mailbox ${MAILBOX}) exten => *98,n,Macro(get-vmcontext,${MAILBOX}) exten => *98,n,Set(VMBOXEXISTSSTATUS=${IF(${MAILBOX_EXISTS(${MAILBOX}@${VMCONTEXT})}?SUCCESS:FAILED)}) exten => *98,n,GotoIf($["${VMBOXEXISTSSTATUS}" = "SUCCESS"]?good:bad) exten => *98,n,Macro(hangupcall,) exten => *98,n(good),Noop(app-dialvm: Good mailbox ${MAILBOX}@${VMCONTEXT}) exten => *98,n,VoiceMailMain(${MAILBOX}@${VMCONTEXT}) exten => *98,n,GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?playret) exten => *98,n,Macro(hangupcall,) exten => *98,n(bad),Noop(app-dialvm: BAD mailbox ${MAILBOX}@${VMCONTEXT}) exten => *98,n,Wait(1) exten => *98,n,Noop(app-dialvm: Asking for password so people can't probe for existence of a mailbox) exten => *98,n,Read(FAKEPW,vm-password,,,3,2) exten => *98,n,Noop(app-dialvm: Asking for mailbox again) exten => *98,n,Read(MAILBOX,vm-incorrect-mailbox,,,3,2) exten => *98,n,Goto(check) exten => *98,n,Macro(hangupcall,) exten => *98,n(playret),Playback(beep&you-will-be-transfered-menu&silence/1) exten => *98,n,Goto(${IVR_CONTEXT},return,1) exten => _*98.,1,Answer exten => _*98.,n,Wait(1) exten => _*98.,n,Macro(get-vmcontext,${EXTEN:3}) exten => _*98.,n,VoiceMailMain(${EXTEN:3}@${VMCONTEXT}) exten => _*98.,n,GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?${IVR_CONTEXT},return,1) exten => _*98.,n,Macro(hangupcall,) ; end of [app-dialvm]