PDA

Voir la version complète : Trixbox : Extension "virtuelle" pour rediriger vers l'extérieur



speron
17/01/2011, 17h37
Bonjour !

Je souhaiterais créer des extensions qui n'auraient d'autre but que d'être des alias vers des téléphone externes ...

Ainsi, en faisant le poste 2012 par exemple, j'appelle un collaborateur travaillant à l'autre bout de la France.

Le problème est que si aucun logiciel ou poste n'utilise ce compte SIP, les appels ne sont pas transférés ... Pour asterisk, le poste n'existe pas

Quelle pourrait être la solution ?

Merciiii

fastm3
17/01/2011, 19h30
Bonjour !

Je souhaiterais créer des extensions qui n'auraient d'autre but que d'être des alias vers des téléphone externes ...

Ainsi, en faisant le poste 2012 par exemple, j'appelle un collaborateur travaillant à l'autre bout de la France.

Le problème est que si aucun logiciel ou poste n'utilise ce compte SIP, les appels ne sont pas transférés ... Pour asterisk, le poste n'existe pas

Quelle pourrait être la solution ?

Merciiii

exten => 2012,Goto(from-internal,numerofixe,1) Dans [from-internal-custom] par exemple mais il faut editer extensions_custom.conf a la main.

On peut faire ca aussi avec la logique freepbx en clic-clic

1- Creer une "misc destination": numfixe_employe1 avec le numero correspondant.
2- Creer une "misc application": avec comme feature code 2012 et comme destination la misc destination precedemment créée.

Cheers !!
Fastm3.

speron
18/01/2011, 10h42
Merci pour ce retour fastm3 !

Alors moi je suis sous Trixbox 1.4 ... donc j'ai pas de "misc destination" que je peux paramétrer ..

J'ai donc essayé de placer l'instruction :
exten => 2012,Goto(from-internal,numerofixe,1)

dans [from-internal-custom] du fichier extensions_custom.conf ...

Puis j'ai fait un reload d'asterisk ...

Puis j'ai composé le 2012 à partir d'un client connecté... il me dit " Le numéro que vous demandé n'est pas accessible, l'appel ne peut aboutir"

Quand je regarde dans les logs, il ne cherche nullement à utiliser l'instruction ajoutée .. car mon fixe n'apparait nulle part ... il cherche simplement à joindre le 2012 ...


Je tiens à dire que j'utilise ce fichier extensions_custom.conf, pour spécifier des contextes de sortie d'appels ... donc il est bien utilisé .. mais pas pour ce problème actuel ..


Donc quel est pourrait être le problème ?

A moins qu'il une solution tribox en clic clic ;-) ?

Merciiii de votre aide

speron
18/01/2011, 12h12
Précision .. ma version est trixbox 2.6.18 .. pardon et non 1.4

J'ai trouvé custom destination et custom extension dans l'interface ... mais j'arrive pas à les utiliser ...

Est ce que cela remplacerait le misc destination de FreePBX ???

speron
18/01/2011, 12h46
On peut faire ca aussi avec la logique freepbx en clic-clic

1- Creer une "misc destination": numfixe_employe1 avec le numero correspondant.
2- Creer une "misc application": avec comme feature code 2012 et comme destination la misc destination precedemment créée.


Alors ... j'ai trouvé pour installer les modules misc destination et misc application ...

Ensuite j'ai créé les 2 objets .... avec reload asterisk et rien n'y fait !!! j'ai toujours le même message d'erreur comme quoi il ne trouve pas le poste !

fastm3
18/01/2011, 13h17
apply_conf et reload plutot que reload en cli pour regenerer la conf avec freepbx.
C'est le bouton orange mais tu as du le faire.

Mets a jour Freepbx au cas ou mais je n'y crois pas. De toutes facons, comme tu as installé trixbox et que tu n'a probablement jamais installé asterisk et freepbx from scratch, ca va pas etre simple a installer une version originale sans tout casser. :evil:

Verifie bien sur que tu peux deja appeler normalement le numero en composant le num "long". Regarde bien les logs et la solution est forcemment devant toi.

Bien sur, tu auras supprimé toute extension utilisant le meme feature code et le code rajouté dans [from-internal-custom] pour eviter les doubles definitions.

Fastm3.

speron
18/01/2011, 15h13
Je suis désolé .. marche toujours pas ...

je viens recréer un nouveau Poste 9920 .. pour être sur et j'ai les logs suivants au moment d'appeler :
- Executing [s@macro-dialout-trunk:13] Set("SIP/9908-09d965b8", "OUTNUM=9920") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/9908-09d965b8", "custom=SIP/0033xxxxxxxx") in new stack
-- Executing [s@macro-dialout-trunk:15] GotoIf("SIP/9908-09d965b8", "1?gocall") in new stack
-- Goto (macro-dialout-trunk,s,17)
-- Executing [s@macro-dialout-trunk:17] Macro("SIP/9908-09d965b8", "dialout-trunk-predial-hook|") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/9908-09d965b8", "0?bypass|1") in new stack
-- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/9908-09d965b8", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:20] Dial("SIP/9908-09d965b8", "SIP/0033xxxxxxxx/9920|300|tTwW") in new stack
-- Called 0033xxxxxxxx/9920


Cela veut dire .. qu'il ne cherche pas à atteindre le misc application 9920 !!!

Je ne vois ce qui peux bloquer ... car en regardant les fichiers de config tout est bien créé



apply_conf et reload plutot que reload en cli pour regenerer la conf avec freepbx.
C'est le bouton orange mais tu as du le faire.

Mets a jour Freepbx au cas ou mais je n'y crois pas. De toutes facons, comme tu as installé trixbox et que tu n'a probablement jamais installé asterisk et freepbx from scratch, ca va pas etre simple a installer une version originale sans tout casser. :evil:

Verifie bien sur que tu peux deja appeler normalement le numero en composant le num "long". Regarde bien les logs et la solution est forcemment devant toi.

Bien sur, tu auras supprimé toute extension utilisant le meme feature code et le code rajouté dans [from-internal-custom] pour eviter les doubles definitions.

Fastm3.

fastm3
18/01/2011, 16h12
Tu as tronqué les log , on doit voir au debut:

Executing [9920@from-internal:1...Ca permettrait de comprendre mieux et d'eviter de deviner ou de passer a coté d'autres choses.
Pourquoi, tu parles de création de poste ?
Il ne faut pas creer d'extension 9920. On est bien d'accord hein ?
Tu n'as pas validé ou definie la misc_app 9920 dans l'interface freepbx a mon avis.

Mets toi sur la console et donne l'output de

dialplan show 9920@from-internalFastm3.

speron
18/01/2011, 16h35
Tu as tronqué les log , on doit voir au debut:

Executing [9920@from-internal:1...


Alors, je n'ai pas from-internal .. Car chaque ligne utilise son propre contexte ... Donc j'ai :
Executing [9920@from-09xxxxxxx:4] Macro("SIP/9908-b7c1a418", "dialout-trunk|11|9920||") in new stack



Il ne faut pas creer d'extension 9920. On est bien d'accord hein ?


Oui oui j'avais bien compris .. c'est une extension "virtuelle" qu'on a créé avec l'application



Tu n'as pas validé ou definie la misc_app 9920 dans l'interface freepbx a mon avis.
Mets toi sur la console et donne l'output de

dialplan show 9920@from-internalFastm3.


J'obtiens cela :

[ Included context 'app-miscapps-2' created by 'pbx_config' ]
'9920' => 1. Noop(Running miscapp 2: 9920) [pbx_config]
2. Goto(ext-miscdests|2|1) [pbx_config]

speron
18/01/2011, 17h19
Pour comprendre .. j'ai créé dans extension_custom.conf autant de contextes que de lignes SIP ...
Pour chaque extension, je pointe son propre contexte comme ceci :

[from-09xxxxxxx]
include => ext-local
include => ext-queues
include => outrt-011-ovh_339xxxxxx
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => ext-paging
include => app-dialvm
include => app-vmmain
exten => foo,1,Noop(bar)

Donc j'ai l'impression que le problème vient du fait qu'on passe par from-internal pour le misc application... alors qu'il faudrait agir au niveau de mes contextes peut être .. je ne sais pas ...

speron
18/01/2011, 19h15
J'ai réussi !!!!

Cool .. alors il fallait rajouter dans mon contexte d'appel, la référence à la misc application créée sur le poste virtuel 9920 ..

En clair ca donne ceci dans ma déclaration de contexte :

[from-09XXXXXXXX]
include => app-miscapps-2
include => ext-local
include => ext-queues
include => outrt-011-ovh_339XXXXXXX
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => ext-paging
include => app-dialvm
include => app-vmmain
exten => foo,1,Noop(bar)

Donc pour que toutes mes lignes puissent l'utiliser, j'ai plus qu'à placer cette include dans un custom de l'un des include généric qui est utilisé ...

En tout cas Merci fastm3 ...

speron
18/01/2011, 19h37
Pour finir, afin que toutes les lignes utilisent cette redirection ou cette ligne virtuelle, j'ai simplement mis la directive suivante dans extension_custom.conf :

[ext-local-custom]
include => app-miscapps-2

sachant que tous les contextes de mes lignes utilisent ext-local et la référence de la misc application que j'ai créé dans freepbx ... on la retrouve dans extension_additionnal.conf et son nom est app-miscapps-2

Voilà en espérant avoir été clair ...

fastm3
18/01/2011, 23h26
Tant mieux, mais si tu avais mis le log complet, on aurait pu voir que n'utilisait pas le contexte par defaut [from-internal]...
Je te conseille d'ailleurs de remettre ce fonctionnement par defaut qui sera plus simple a gerer.
Bonne continuation.
Fastm3.

speron
19/01/2011, 10h10
Tant mieux, mais si tu avais mis le log complet, on aurait pu voir que n'utilisait pas le contexte par defaut [from-internal]...
Je te conseille d'ailleurs de remettre ce fonctionnement par defaut qui sera plus simple a gerer.
Bonne continuation.
Fastm3.

Merciiii du conseil ! je vais essayer de le faire en mettant le même contexte pour tous et en arbitrant vers tel ou tel trunk en fonction de l'emetteur de l'appel à partir du contexte from-internal-custom !

Merci encore

Stéphane

fastm3
19/01/2011, 11h35
tous et en arbitrant vers tel ou tel trunk en fonction de l'emetteur de l'appel à partir du contexte from-internal-custom !

Pas besoin , a partir de freepbx 2.7, tu peux faire cela dans les outbounds routes.
Créé un autre sujet si tes recherches/essais n'aboutissent pas sur ce point.
Fastm3.

speron
19/01/2011, 13h36
Merci ... mais cela nécessiterait de réinstaller asterisk ...

En faisant un petit contexte custom comme cela, cela résoud tout :

[from-internal-custom]
exten => _X.,1,Macro(user-callerid,SKIPTTL,)
exten => _X.,n,Set(_NODEST=)
exten => _X.,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _X.,n,GoToIf($[ "${AMPUSERCID}" = "9900" ]?20)
exten => _X.,n,GoToIf($[ "${AMPUSERCID}" = "9901" ]?23)
exten => _X.,n,GoToIf($[ "${AMPUSERCID}" = "9902" ]?26)
etc ...

exten => _X.,20,Macro(dialout-trunk,14,${EXTEN},,)
exten => _X.,21,GoTo(s,70)
exten => _X.,23,Macro(dialout-trunk,8,${EXTEN},,)
exten => _X.,24,GoTo(s,70)
exten => _X.,26,Macro(dialout-trunk,12,${EXTEN},,)
etc ...

exten => s,70,Macro(outisbusy,)

Merci encore Fastm3

fastm3
19/01/2011, 14h29
Rien a voir avec asterisk, juste mettre a jour freepbx si tu n as pas la fonctionnalité
Ton dialplan serait plus simple avec la notation _X./extension
Fastm3

speron
19/01/2011, 17h07
Rien a voir avec asterisk, juste mettre a jour freepbx si tu n as pas la fonctionnalité
Ton dialplan serait plus simple avec la notation _X./extension
Fastm3

Je suis sous Trixbox ... et j'ai pas trouvé ...

fastm3
19/01/2011, 17h42
Je suis sous Trixbox ... et j'ai pas trouvé ...
Pour etre clair: trixbox = asterisk + freepbx en gros.
Je ne connais pas (plus) trixbox mais asterisk et freepbx oui.
La version de freepbx est "une adaptation" bien moins maintenue donc galere a faire evoluer. Elle est probablement basée sur freepbx 2.6 d'apres ce que tu dis. Je n'aime pas trixbox pour ces raisons comme les autres distribs packagees en general ou on s'appercoit qu'apres 6mois-1an , on doit reinstaller pour faire evoluer ou parce que l'update a cassée la config.
Ce qui est curieux, c'est qu'aucune distrib packagée ne se contente d'installer une version officielle a partir des sources d'asterisk et freepbx avec les outils pour qu'un simple make recompile asterisk.
Piaf avait commencé sur cette voix mais ils ont crypté leur script retombant dans le travers du non ouvert.

Bref je te recommande de faire la main sur une install from scratch qui te permettra d'avoir un systeme complet et evolutif. Il y a des tutos dans la partie articles.
Il y aura bientot une alternative mais j'essaie de ne pas faire de pub ici...;)
Fastm3.