PDA

Voir la version complète : appel extérieur vers des postes



sprint95
21/12/2011, 23h43
Bonsoir,
Je suis désolé si le sujet a deja été traité mais je n'arrive à trouver la solution et si c'est faisable.
Je suis très très débutant avec Asterisk mais très surpris aussi par la puissance de ce soft.

J'ai installé un serveur sur lequel tourne Asterisk. Je suis chez Free et donc activé freephonie et tout fonctionne bien.
Par contre, je me demandais si en SIP, il y a un moyen pour que lors d'un appel entrant, par un extension ou autre, l'appelant peut être dirigé directement vers le bon poste (comme au boulot quoi ;-))
Merci d'avance
Thierry

Comdif
22/12/2011, 01h03
Oui bien sur
tout dépend de ce que vous avez installé, une distribution packagée
ou un asterisk brut.

En sip sur Asterisk les infos sur l'appel entrant arrivent avec la variable
${SIP_HEADER(TO)}

En bref sur asterisk tous les scénarios d'appel se passent dans un fichier appelé
extension.conf
Ce fichier est formé de contextes balisés [toto] (toto c'est un exemple)

Quand vous avez déclaré votre compte sip dans le fichier sip.conf
vous avez déclaré un context=toto

donc quand un appel arrive il vas directement dans toto
et il cherche une extension qui est spécifique aux appels entrants génériques
: s

donc il suffit d'analyser ce qui arrive sur cette extension s
exemple:

exten => s,1,NoOp(${SIP_HEADER(TO)}:5)
ceci devrais afficher dans la console le numéro de la ligne free juste pour info
si va ne marche pas, utiliser l'extension
exten => _.,1,NoOp(${SIP_HEADER(TO)}:5)
ce qui normalement revient au même.

voila ensuite une fois vu dans la CLI le format du numéro qui entre
il reste juste a le router jusqu'au poste

exten => _.,1,NoOp(${SIP_HEADER(TO)}:5)
exten => _.,2,GoTo(toto,${SIP_HEADER(TO)}:5,1)

et finalement

exten => 339xxxxxxxx,2,GoTo(postes,100,1)

qui envois dans le context postes pour faire sonner le poste 100

Voila grosso modo le principe

Reaper
22/12/2011, 01h27
Comdif, sip header to est utilisé pour indiquer vers qui initialement invite était fait (numero abregé ou alias). Normalement il faut regarder invite, et variable est ${EXTEN}

Comdif
22/12/2011, 11h07
oui normalement sauf que dans la pratique sip_header(to) marche a tous les coups sur tous les trunks sip de tous les carriers, ce qui n'est pas le cas de exten
avec certains providers surtout si il y a plusieurs did dessus.
J'utilise donc maintenant cette variable depuis des années sur toutes mes distributions pour faire ce job avec satisfaction.

Reaper
22/12/2011, 11h27
Ça peut gênant dans le cas ou:

Je contacte foo@bar.com alias le re-écrit en 123@bar.com, et donc invite arrivera sur 123@bar.com mais avec champ TO foo@bar.com. Ou numéro abregé, je contacté 2@mesnumerofavori.com > rewrite > alex@monsecondami.com > Invite sera alex@monsecondami.com et TO 2@mesnumerofavori.com. Je ne sais pas si je suis clair.

sprint95
31/12/2011, 00h22
Bonsoir,
Merci pour ces infos, vu mon niveau, je ne suis pas sur de pouvoir mettre en oeuvre facilement mais en persévérant, ça devrait le faire.
Pour répondre à la question sur mon installe, Asterik vient dans mon installation domotique et tourne sur mon serveur pogoplug (utilisation familiale), en parallèle d'appli dédiées à la domotique.
ET je veux aussi faire le lien avec la domotique pour être appelé en cas d'alarme par exemple, la aussi, je ne sais pas trop comment on fait.

Pour en revenir au sujet, pour utiliser cette manip, cela veut dire que les appelants doivent faire un numéro une fois les sonneries en cours ou bien directement avec un digit en plus du numéro ?

Merci
Thierry



Oui bien sur
tout dépend de ce que vous avez installé, une distribution packagée
ou un asterisk brut.

En sip sur Asterisk les infos sur l'appel entrant arrivent avec la variable
${SIP_HEADER(TO)}

En bref sur asterisk tous les scénarios d'appel se passent dans un fichier appelé
extension.conf
Ce fichier est formé de contextes balisés [toto] (toto c'est un exemple)

Quand vous avez déclaré votre compte sip dans le fichier sip.conf
vous avez déclaré un context=toto

donc quand un appel arrive il vas directement dans toto
et il cherche une extension qui est spécifique aux appels entrants génériques
: s

donc il suffit d'analyser ce qui arrive sur cette extension s
exemple:

exten => s,1,NoOp(${SIP_HEADER(TO)}:5)
ceci devrais afficher dans la console le numéro de la ligne free juste pour info
si va ne marche pas, utiliser l'extension
exten => _.,1,NoOp(${SIP_HEADER(TO)}:5)
ce qui normalement revient au même.

voila ensuite une fois vu dans la CLI le format du numéro qui entre
il reste juste a le router jusqu'au poste

exten => _.,1,NoOp(${SIP_HEADER(TO)}:5)
exten => _.,2,GoTo(toto,${SIP_HEADER(TO)}:5,1)

et finalement

exten => 339xxxxxxxx,2,GoTo(postes,100,1)

qui envois dans le context postes pour faire sonner le poste 100

Voila grosso modo le principe

sprint95
06/01/2012, 16h10
Bonsoir,
Pour en revenir au sujet, pour utiliser cette manip, cela veut dire que les appelants doivent faire un numéro une fois les sonneries en cours ou bien directement avec un digit en plus du numéro ?


Méa culpa, pb de compréhension de l'approche.

Le proposition de Comdif permet, si j'ai bien suivi, de router un numéro ou des numéros sur un poste particulier, a l'initiative de la config que j'aurais préparé (je veux que le num 0123456789 soit routé vers le poste 999).
Je vais testé ça qui répond partiellement à la question.

Maintenant, si je voudrais que se soit l'appelant qui sache qu'il appelle tel ou tel poste ? N'ayant qu'une ligne tout a fait standard, est faisable ?
Quitte à ce qu'il ait un ou 2 digit à ajouter ou bien tomber deja sur un serveur vocal et avoir un choix à faire pour adresser la bonne personne.

Je ne sais pas si je suis tres clair, enfin, je l'espère tout au moins.

Je vous souhaite une bonne année à tous
Thierry

Comdif
06/01/2012, 18h51
Oui pour la dernière question c'est tres facile a faire il suffit de router l'appel entrant vers le context postes et d'utiliser DISA
http://www.voip-info.org/wiki/view/Asterisk+cmd+DISA
Attention à la sécurité ce context ne doit permettre que les appels internes !!