JojoLaBougie Membre


Nombre de messages: 23 Localisation: Brest Date d'inscription: 16/06/2009
 | Sujet: Call Forward sur Asterisk Lun 22 Juin - 16:19 | |
| Bonjour, Je dispose d'un coeur de réseau OpenIMS (pcscf, scscf, icscf, hss), et j'ai récemment installé un Asterisk. Jusqu'à présent, l'Asterisk n'est utilisé qu'en tant que Proxy: des clients s'enregistrent sur l'Asterisk et peuvent communiquer avec d'autres enregistrés sur le coeur OpenIMS. Voici un lien qui ammène mes questions: http://www.voip-info.org/wiki/view/Asterisk+call+forwardingJe souhaiterais utiliser l'Asterisk en tant qu'AS en activant la fonction de Call Forward: - Faut-il interfacer l'Asterisk avec une base de donnée ? Si oui, laquelle et comment ? (La bdd interne ? Mysql ?) - Je ne comprends pas tout sur le site voip-info. Que faut-il faire exactement dans notre extensions.conf ? Merci  |
|
arkhsphere Admin


Nombre de messages: 12 Date d'inscription: 17/04/2008
 | Sujet: Re: Call Forward sur Asterisk Mar 23 Juin - 13:57 | |
| Bonjour Jojo, Je vois ce que tu souhaite faire. Alors par contre je sais pas si je serais d'une grande aide ça fait un moment que j'ai pas touché à *  Alors si je me souviens bien, sur OpenIMS, j'avais juste rajouté un service dans le trigger, mais cela ketzaldev a surement du t'expliquer comment. Par contre dans * y a quelques petites choses à faire. Alors tu aura besoin de deux fichiers : sip.conf et extension.conf Dans le premier tu vas définir tes utilisateurs ainsi qu'un profil général. Et tu devrait donc avoir un truc du genre : | Code: | [general] bindaddr=0.0.0.0 bindport=5060 context=outgoing language=fr
[tel_SIP1] type=friend context=outgoing host=dynamic fromdomain=openims.fr |
Normalement tu trouveras toutes les fonctions sur le site de voip-info.
Et puis pour extension.conf, tu vas devoir définir les comportements de tes utilisateurs lorsqu'ils sont appelé ou qu'ils appellent. Un truc comme :
| Code: | ; X -> matches any digit from 0 to 9 ; Z -> matches any digit from 1 to 9 ; N -> matches any digit from 2 to 9 ; [15-7] -> Matches a single digit from the range of digits specified. In this case, the pattern matches a single 1, 5, 6, or 7 ; . (period) -> Wildcard match; matches one or more characters, no matter what they are ; ! (bang) -> Wildcard match; matches zero or more characters, no matter what they are
; (See p138 of Asterisk 2nd edition [o'reilly] for more information about patterns)
[outgoing] ; Appel normal exten => _tel_SIP.,1,Answer() exten => _tel_SIP.,2,Dial(SIP/${EXTEN}@openims.fr,5) exten => _tel_SIP.,3,Set(vm=voicemail${FILTER(0123456789,${EXTEN})) exten => _tel_SIP.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail) exten => _tel_SIP.,n(unavail),VoiceMail(${vm}@vm-asterisk,u) exten => _tel_SIP.,n,HangUp() exten => _tel_SIP.,n(busy),VoiceMail(${vm}@vm-asterisk,b) exten => _tel_SIP.,n,Hangup() |
Dans ce cas là, * va faire sonné tel_SIP1 pendant 5 secondes. Si le délai est atteint, alors il va extraire le numéro de l'utilistauer (1 pour tel_SIP1) et va, suivant ce que réponds son téléphone, soit jouer le son pour "absent" soit pour "occuper" avant de finir sur la voicemail (voicemail1 dans ce cas là).
Ça c'était pour les bases d'*. Pour ce qui est de ton service, le problème c'est que le numéro de redirection doit être stocké dans l'AS et non dans l'IMS, ce qui demande à l'utilisateur de se connecter à l'AS pour le modifier et l'activer. Après, bien sur, tu peux utiliser une BDD pour le stocker, par contre je n'ai jamais interfacé une BDD avec * donc je ne vais pas pouvoir t'aider sur ce coup là :S Moi j'optais pour la modification de sip.conf mais c'est pas ergonomique du tout puisqu'il faut le modifier à la main.
Par contre si tu veux il existe un GUI pour * qui permet d'accéder à la configuration des utilisateurs via le web. Si chacun a un compte, ils peuvent modifier via le GUI leur numéro de redirection qui sera lui modifié en conséquence dans le fichier sip.conf je pense (jamais essayé non plus).
Concernant le lien que tu as mis, je ne comprends pas ce que tu ne comprends pas ? Si je prends l'exemple 1, * va chercher le numéro de redirection de l'utilisateur (le CFIM). Si il en trouve un alors il l'appelle, sinon c'est que l'utilisateur n'en a pas mis et il appelle le numéro normal. Si les deux numéros échouent, alors on passe la main à la voicemail.
Je sais pas si c'est très clair. Dis le sinon, j'essayerai de refaire mon argumentaire  |
|
JojoLaBougie Membre


Nombre de messages: 23 Localisation: Brest Date d'inscription: 16/06/2009
 | Sujet: Re: Call Forward sur Asterisk Mar 23 Juin - 14:12 | |
| Salut Arkhsphere, Je te remercie de ta réponse. Comme tu l'as dit, ta solution c'est du "Brute de décoffrage" car pas très ergonomique. J'ai trouvé des infos concernant l'interfaçage BDD et * et notamment le fait que * possède une BDD interne Finalement, j'ai mis la barre un peu plus haut: mon client appelle un num genre 800, et on lui propose de mettre un numéro de forward. S'il appelle le 801, on reviens à la config initiale. Je pense être sur la bonne voie, si je parviens à faire ce que je veux, je posterais la solution. |
|