PDA

Voir la version complète : Obtenir le channel d'origine simplement



therebel23
24/10/2011, 13h38
Bonjour,
je recherche une variable ou fonction dans le dialplan pour obtenir facilement le nom du channel d'origine de l'appel mais sans les fioritures. Je m'explique : voilà la variable ${CHANNEL} :

SIP/nomchannel-000293883b

Je voudrais une variable qui me donne directement "nomchannel". Je peux faire un traitement de chaine mais en dialplan, c'est assez lourd..

Merci!

Thera
24/10/2011, 14h33
Bonjour,
A ma connaissance ça n'existe pas. En revanche je ne vois vraiment pas en quoi c'est lourd dans le dialplan... tu peux faire une sub de 4 lignes pour ça.

therebel23
24/10/2011, 15h15
Ok, merci. Oui 4 lignes c'est pas énorme, mais 4 lignes + 4 lignes + .. , ca me donne un dialplan sur les appels sortants de plus en plus long à lire dans la CLI ..

Sinon j'ai fait un AGI en PHP pour obtenir ça en une ligne, mais c'est un peu écraser une mouche avec un marteau ..

ffossard
24/10/2011, 22h12
Ok, merci. Oui 4 lignes c'est pas énorme, mais 4 lignes + 4 lignes + .. , ca me donne un dialplan sur les appels sortants de plus en plus long à lire dans la CLI ..

Sinon j'ai fait un AGI en PHP pour obtenir ça en une ligne, mais c'est un peu écraser une mouche avec un marteau ..

J'utilise un agi quand je veux cibler un autre channel que le channel "courant", mais sinon quelques lignes de dialplan font en effet très bien l'affaire.
L'avantage du sub() et que tu pourra écrire une fonction aussi complexe que tu le souhaite, et l'appeler en une seule ligne depuis de multiples endroits, très très utile pour faire du dialplan "high-tech", modulaire, facile à maintenir et à faire évoluer :)
Par contre pour la lecture dans la CLI, forcément ça va générer beaucoup de ligne, mais il y'en a toujours beaucoup dès que le nombre d'utilisateurs grimpe, est-ce tant que ça un problème ? :confused:

Reaper
24/10/2011, 22h14
Utilise CUT qui est fourni avec asterisk.