Nom du trunk sortant dans le téléphone

hb22

Joined
Nov 18, 2008
Messages
38
Likes
0
Points
0
#1
Bonjour,

Je veux envoyer un son avec le nom du trunk qui est utilisé pour sortir, dans le téléphone de l'appelant.
J'expérimente plusieurs trunk et cela me permet de juger de la qualité audio.

J'ai regardé un peu le déroulement du dialplan de FreePBX dans la CLI.
J'ai remarqué la ligne suivante :
Executing [s@macro-dialout-trunk:14] Set("SIP/51-b7120650", "custom=SIP/Keyyo1-2") in new stack
SIP/Keyyo1-2 est le nom du trunk sortant
Cette ligne correspond à la ligne suivante dans [macro-dialout-trunk] de extensions_additional.conf :
exten => s,n,Set(custom=${CUT(OUT_${DIAL_TRUNK},:,1)})

J'ai ajouté ce code dans extensions_custom.conf pour faire un petit test :
[macro-dialout-trunk-custom]
exten => s,1,Set(nom_trunk=${CUT(OUT_${DIAL_TRUNK},:,1)})
exten => s,2,Noop(Nom trunk : ${nom_trunk})

un reload dans la CLI, une communication sortante pour tester, et ...
Le déroulement du dialplan ne passe pas dans [macro-dialout-trunk-custom]

La raison ?
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#2
Je pense que cette macro n'est tout simplement pas appelée!

Celle qui est appelée est [macro-dialout-trunk] et non [macro-dialout-trunk-custom]

Modifies [macro-dialout-trunk] plutôt!

Mais....Noop() ne fera qu'afficher un résultat, ou quelque chose dans la console d'Asterisk!
 

hb22

Joined
Nov 18, 2008
Messages
38
Likes
0
Points
0
#3
Modifies [macro-dialout-trunk] plutôt !
FreePBX indique ne ne pas modifier extensions_additional.conf
C'est normal car il est réécrit à chaque modification dans l'interface graphique de FreePBX.
Par contre chaque macro est liée à une macro custom qui permet théoriquement de personnaliser.

Mais....Noop() ne fera qu'afficher un résultat, ou quelque chose dans la console d'Asterisk!
C'est juste un test. Après je vais écrire le code pour lire un fichier audio différent en fonction du trunk sortant.
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#4
Tant que tu ne valides rien sur freepbx, ce que tu modifies dans ce fichier ne sera pas écrasé!
Evidemment, si tu appliques les modif freepbx, le fichier sera écrasé et la conf perdue.

Ce qu'il faut chercher (et je ne sais pas ou, peut être dans une définition de contexte), c'est l'appel vers cette macro.
 

hb22

Joined
Nov 18, 2008
Messages
38
Likes
0
Points
0
#5
Je ne veux pas perdre le bénéfice de FreePBX.
J'ai déjà fait d'autres personnalisations dans les extensions_custom.conf et cela fonctionne.
Je vais chercher...
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#6
ok ...
Tiens nous au courant. ;)
 

hb22

Joined
Nov 18, 2008
Messages
38
Likes
0
Points
0
#7
Je reviens sur ce problème.
Pour tester plusieurs fournisseurs VOIP, je veux jouer une message audio avec le nom du trunk avant l'appel sortant.
Je sais écrire le code mais je ne sais pas ou le placer pour qu'il ne soit pas écrasé par les modifications générés par FreePBX.

Dans extensions_additional au début de chaque macro il y a un "include".
Exemple ici "macro-dialout-trunk-custom"


[macro-dialout-trunk]
include => macro-dialout-trunk-custom
exten => s,1,Set(DIAL_TRUNK=${ARG1})
exten => s,n,GosubIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]?sub-pincheck,s,1)
exten => s,n,GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk,1)
exten => s,n,Set(DIAL_NUMBER=${ARG2})
exten => s,n,Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS})


Dans quel fichier, il faut mettre la macro "macro-dialout-trunk-custom" pour qu'elle soit exécutée ?
J'ai essayé dans extensions_custom.conf mais cela ne fonctionne pas.

Une idée ?
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#8
Pourtant je l'aurais bien mis là.
Essayes de faire un grpp sur les fichiers comme par exemple :
# more extension_additionnal.conf | grep "macro-dialout-trunk-custom"

Tu retrouveras normalement la balise [macro-dialout-trunk-custom].

Comme je suis pas chez moi aujourd'hui, je ne peux me connecter à mon serveur.
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#9
non, pas de balise.
J'ai essayé comme toi de faire mettre dans extension_custom.conf la macro en question, mais rien effectivement!
J'ai mis un Noop pour la tracer, mais elle n'apparait pas.
Curieux :dry:
 

Patrick_elx

Joined
Dec 14, 2008
Messages
1,120
Likes
0
Points
0
#10
Un include ne fait que rendre la macro accessible dans le dial plan, il ne l'execute pas.
Fait un essais avec la [macro-dialout_trunk-predial-hook] qui est effectivement appelée par [macro-dialout-trunk].

Code:
; Customizations to this dialplan should be made in extensions_custom.conf
; See extensions_custom.conf.sample for an example.
; If you need to use [macro-dialout-trunk-predial-hook] place these in this file or they will get overwritten.
;
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#11
Mais pourquoi mettre un include dans une macro se cet include n'a pas de but d'exécution?
Attend l'enlever alors.
Je ne vois pas très bien le positionnement de cet include. :blink:
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#12
Dans extension-custom.conf:
Code:
[macro-dialout-trunk-predial-hook]
exten => s,1,Noop(Annoncer le faisceau)
exten => s,n,playback(thank-you-for-calling)
ça fonctionne. :)

Merci Patrick ;)
Toujours intéressent ce genre de petit truc.
 

Patrick_elx

Joined
Dec 14, 2008
Messages
1,120
Likes
0
Points
0
#13
on en apprends tous les jours...
Ca reste encore dans la porté des petits trucs que j'arrive à faire.

Mais je bloque toujours sur ce foutu cisco 7960:
- pas moyen de remplacer la sonnerie par le clignotement de la led par un alert_info
- je n'arrive pas à me connecter via telnet au travers un routeur/firewall cisco pix (je peux faire du telnet sur d'autres machines/harware, mais je ne sais pas pourquoi les trames de retour du 7960 sont bloquées par le firewall. j'ai passé des heures avec wireshark pour essayer de comprendre pourquoi le 7960 agit differement d'autres machines telnetable sans succès)


Dans mes prochains projets, je voudrai essayer de porter
http://www.freeauth.org/site
en un cgi/php pour asterisk pour authentifier l'accès au DISA.

Avec l'appli client qui génère le one time code toujours sur moi (sur mon nokia), je pourrai ainsi ouvrir le DISA sans trop d'arrière pensée.. Et ca ouvre aussi la porte pour d'autres appli avec sécurisation d'accès.
 

hb22

Joined
Nov 18, 2008
Messages
38
Likes
0
Points
0
#14
C'est ok aussi pour moi. Cela fonctionne.
Je finis mon code et je vais le poster ici.

Merci.
 

hb22

Joined
Nov 18, 2008
Messages
38
Likes
0
Points
0
#15
Voilà

Code:
[macro-dialout-trunk-predial-hook]
exten => s,1,Noop(OUT_${DIAL_TRUNK})
exten => s,n,Set(NOM_TRUNK=${CUT(OUT_${DIAL_TRUNK},/,2)})
exten => s,n,GotoIf($["${NOM_TRUNK}"="ovh"]?ovh)
exten => s,n,GotoIf($["${NOM_TRUNK}"="Keyyo1-2"]?keyyo)
exten => s,n,GotoIf($["${NOM_TRUNK}"="Keyyo2-2"]?keyyo)
exten => s,n,GotoIf($["${NOM_TRUNK}"="FreeGGP-5"]?free)
exten => s,n,GotoIf($["${NOM_TRUNK}"="FreeSB-5"]?free)
exten => s,n,GotoIf($["${NOM_TRUNK}"="1"]?orange)
exten => s,n,GotoIf($["${NOM_TRUNK}"="2"]?orange)
exten => s,n,GotoIf($["${NOM_TRUNK}"="4"]?orange)
exten => s,n,GotoIf($["${NOM_TRUNK}"="5"]?orange)
exten => s,n(ovh),Playback(ovh)
exten => s,n,Goto(fin)
exten => s,n(keyyo),Playback(keyyo)
exten => s,n,Goto(fin)
exten => s,n(free),Playback(free)
exten => s,n,Goto(fin)
exten => s,n(orange),Playback(orange)
exten => s,n,Goto(fin)
exten => s,n(fin),Noop(Nom du trunk : ${NOM_TRUNK})
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#16
Patrick_elx said:
on en apprends tous les jours...
Ca reste encore dans la porté des petits trucs que j'arrive à faire.
Cool. :)

Mais je bloque toujours sur ce foutu cisco 7960:
- pas moyen de remplacer la sonnerie par le clignotement de la led par un alert_info
Comme c'est du Cisco... ça peut réagir différemment!

- je n'arrive pas à me connecter via telnet au travers un routeur/firewall cisco pix (je peux faire du telnet sur d'autres machines/harware, mais je ne sais pas pourquoi les trames de retour du 7960 sont bloquées par le firewall. j'ai passé des heures avec wireshark pour essayer de comprendre pourquoi le 7960 agit differement d'autres machines telnetable sans succès)
Si l'accès est bloqué par le FireWall, alors il doit y avoir des log de ce côté.
Qu'est-ce qu'ils disent ces log?

Dans mes prochains projets, je voudrai essayer de porter
http://www.freeauth.org/site
en un cgi/php pour asterisk pour authentifier l'accès au DISA.

Avec l'appli client qui génère le one time code toujours sur moi (sur mon nokia), je pourrai ainsi ouvrir le DISA sans trop d'arrière pensée.. Et ca ouvre aussi la porte pour d'autres appli avec sécurisation d'accès.
ça peut-être intéressant. :huh:
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#17
hb22 said:
Voilà

Code:
[macro-dialout-trunk-predial-hook]
exten => s,1,Noop(OUT_${DIAL_TRUNK})
exten => s,n,Set(NOM_TRUNK=${CUT(OUT_${DIAL_TRUNK},/,2)})
exten => s,n,GotoIf($["${NOM_TRUNK}"="ovh"]?ovh)
exten => s,n,GotoIf($["${NOM_TRUNK}"="Keyyo1-2"]?keyyo)
exten => s,n,GotoIf($["${NOM_TRUNK}"="Keyyo2-2"]?keyyo)
exten => s,n,GotoIf($["${NOM_TRUNK}"="FreeGGP-5"]?free)
exten => s,n,GotoIf($["${NOM_TRUNK}"="FreeSB-5"]?free)
exten => s,n,GotoIf($["${NOM_TRUNK}"="1"]?orange)
exten => s,n,GotoIf($["${NOM_TRUNK}"="2"]?orange)
exten => s,n,GotoIf($["${NOM_TRUNK}"="4"]?orange)
exten => s,n,GotoIf($["${NOM_TRUNK}"="5"]?orange)
exten => s,n(ovh),Playback(ovh)
exten => s,n,Goto(fin)
exten => s,n(keyyo),Playback(keyyo)
exten => s,n,Goto(fin)
exten => s,n(free),Playback(free)
exten => s,n,Goto(fin)
exten => s,n(orange),Playback(orange)
exten => s,n,Goto(fin)
exten => s,n(fin),Noop(Nom du trunk : ${NOM_TRUNK})
Pas mal du tout.
ça permet effectivement de savoir directement sur quel opérateur l'appel est dirigé.

allez, une image pour toi ;)
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#18
Patrick.

En y regardant sur Voip-Info, j'ai trouvé çà:

Available ring tones by default
Bellcore-BusyVerify
Bellcore-Stutter
Bellcore-MsgWaiting
Bellcore-dr1
Bellcore-dr2
Bellcore-dr3
Bellcore-dr4
Bellcore-dr5
While examining the firmware for the 7940/7960 I found the following strings. I have not verified if these are in fact ringtones because I don't have a phone to test them with at the moment but they might be worth a try. {I have tried them, and they don't seem to do anything on the 7940 with
Bellcore-Inside
Bellcore-Outside
Bellcore-Busy
FBellcore-Alerting
FBellcore-BusyVerify
Bellcore-Stutter
Bellcore-MsgWaiting
Bellcore-Reorder
Bellcore-CallWaiting
Bellcore-Cw2
Bellcore-Cw3

Bellcore-Cw4
Bellcore-Hold
FBellcore-Confirmation
FBellcore-Permanent
Bellcore-Reminder
FBellcore-None
Bellcore-dr1
Bellcore-dr2
Bellcore-dr3
Bellcore-dr4
Bellcore-dr5

FCisco-ZipZip
Cisco-Zip
FCisco-BeepBonk
Je ne sais pas s'il y a quelque chose la dedans qui jouerait uniquement sur l'icône de la ligne.
 

Patrick_elx

Joined
Dec 14, 2008
Messages
1,120
Likes
0
Points
0
#19
danardf said:
En y regardant sur Voip-Info, j'ai trouvé çà:
Je connais bien cette page et j'ai un peu tout essayé.

Après mes essais il semble que:
- seuls les sonneries par defaut peuvent être séléctionnées par un alert-info
- les sonneries additionnelles ajoutée dans Ringlist ne peuvent pas être sélectionnées


maintenant il reste encore une possibilité de faire un telnet juste avant une sonnerie pour baisser le volume au minimum puis de remonter le volume après...

Sur pas mal d'autre téléphone il y a l'option alert-info(no-ring) ou similaire qui permet de couper la sonnerie pour certains appels.


Concernant le telnet rebèle j'ai finalement trouvé le problème la nuit dernière. Cela provenait d'un conflit dans la config des routeurs par défaut/ lan netmask sur le 7960. Comme je me connectais depuis un autre LAN sans NAT, les paquets de retour partaient vers le mauvais routeur, malgré les bon headers IP. Bizarrement, pour les accès http/xml depuis le 7960, ce problème n'apparaissait pas...
 

amir124

Joined
Jul 23, 2017
Messages
14
Likes
1
Points
3
#20
Patrick.

En y regardant sur Voip-Info, j'ai trouvé çà:





Je ne sais pas s'il y a quelque chose la dedans qui jouerait uniquement sur l'icône de la ligne.[/QUOTE



hellow sir i have cisco 7940 i put the sip frameware in cisco 7940 but when i try to call the softfone the cisco 7940 phone shows me reorder error can u help me plz the cisco 7940 is registered it show on elastix gui interface the sip is registered help will be appricated
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,888
Members
17,568
Latest member
mehdii_igi
Top