S'identifier

Voir la version complète : Messagerie globale



shnabr
13/07/2013, 20h18
Bonsoir à tous,

J'aimerais créer une messagerie globale qui lorsqu'on y accède (en composant le 6789 par exemple) demande un numéro de poste (le 6001 par exemple) et un mot de passe (1001 par exemple) .

Ainsi, en composant le 6789 on tombe sur une messagerie demandant un numéro de poste.

Puis en tapant le 6001 (pour le poste 6001) et le bon mot de passe (1001), on accède a la messagerie locale du poste 6001.

Je ne sais pas comment m'y prendre et on cherchant sur google je n'ai trouvé que des tutos expliquant seulement la mise en place d'une messagerie locale.

Pourriez vous m'expliquer comment m'y prendre s'il vous plait ?

Je vous remercie d'avance pour votre aide.

Cordialement,

lngabi00
16/07/2013, 11h11
cela est faisable, mais tu entends quoi par locale! globale!?:)

shnabr
16/07/2013, 19h39
Hello,

Merci de ta réponse :)

Par locale je veux dire lorsque le poste 6002 compose le 6001 pour accéder à sa propre messagerie et par globale j'insinue que l'on compose le 6000 à partir de n'importe quel poste pour accéder à une messagerie qui demande un mot de passe et qui en fonction du mot de passe, renvoie vers la messagerie locale (expliqué au début) du poste correspondant.

shnabr
22/07/2013, 22h37
Toujours pas trouvé de mon coté ... Does anyone know the solution ?

fastm3
23/07/2013, 10h55
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" )


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,)
Fastm3.

Averell7
23/07/2013, 19h33
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é.

shnabr
24/07/2013, 00h28
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


[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

Extensions.conf


[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)

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".

Averell7
24/07/2013, 03h00
Si ça peut vous servir, voici le code concernant *98 dans Elastix :


[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]