Umwandlung Nummer => Accountname

klausi0210

Neuer User
Mitglied seit
19 Jul 2006
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo!

Ich betreibe Asterisk mit mehreren SIP-phones. Mein Dialplan ist zurzeit leider sehr statisch, was ich irgendwie ändern möchte.

meine accounts in sip.conf (schauen alle gleich aus):
Code:
[john]
type=friend
secret=welcome
callerid=John Doe <1234>
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=internal

mein dialplan in extensions.conf:
Code:
[internal]
exten => 1234,1,Dial(SIP/john)
exten => 1235,1,Dial(SIP/hans)
exten => 1236,1,Dial(SIP/franz)
...
Ich muss also immer die Telfonnummer in den jeweiligen SIP-Account-Namen übersetzen. Geht das nicht irgendwie mit Wildcards eleganter?
mein Ansatz:
Code:
[internal]
exten => _XXXX,1,Dial(SIP/${DIALEDPEERNAME})
Funktioniert aber nicht. Es muss doch irgendeine Variable geben, die mir die Nummer in einen Namen umwandelt?

Natürlich könnte ich als Account-Namen gleich die Telefonnummern vergeben und dann mit ${EXTEN} darauf zugreifen. Die Accounts sind aber syntaktisch festgelegt und ich will sie auch nicht ändern.

mfg klausi
 
klausi0210 schrieb:
Natürlich könnte ich als Account-Namen gleich die Telefonnummern vergeben und dann mit ${EXTEN} darauf zugreifen.

So machen das Milliarden von Anwendern genau wegen der von Dir beschriebenen Probematik.

Die Accounts sind aber syntaktisch festgelegt und ich will sie auch nicht ändern.

Dann wirst Du keine brauchbare (einfache) Lösung finden - Du kannst nicht alles wollen :wink:
 
Du kannst doch eine globale Variable festlegen
Code:
[global]
INT-1234 = SIP/John
...

[intern]
exten => xxxx,1,Dial,${INT-${EXTEN}}|blablub

Das sollte doch funktionieren, oder?
 
schon - aber dann muß er für jede Nummer ein Variable anlegen - von den Dialplan-Zeilen spart er dabei überhaut nichts. Im Gegenteil - es ist sogar mindestens 1 Zeile mehr als bei seiner jetzigen Lösung :wink:
 
OK ich gebe auf. Natürlich könnte ich mir selber eine Funktion schreiben, die sip.conf durchsucht und mir so zu einer Nummer den Account-Namen holt, aber das wäre wohl etwas übertrieben.

Nummern möchte ich deshalb nicht als Account-Namen verwenden, weil ich erstens viele Accounts habe und das dann überall ändern müsste, und zweitens weils beim Testen und Debuggen leichter ersichtlich ist, wer da was macht (das menschliche Gehirn merkt sich Nummern nun mal schwer).

Ich belasse es also bei meinem statischen Nummern-Namen-Mapping.
 
klausi0210 schrieb:
Natürlich könnte ich als Account-Namen gleich die Telefonnummern vergeben und dann mit ${EXTEN} darauf zugreifen. Die Accounts sind aber syntaktisch festgelegt und ich will sie auch nicht ändern.

Solange die Telefone nur Nummerntasten haben und die Benutzer Nummern verwenden wollen ist Deine Struktur ein Problem.


Es ist aber kein Problem die Zuordnung in mySQL abzuspeichern und von dort auszulesen.
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,867
Beiträge
2,303,243
Mitglieder
378,524
Neuestes Mitglied
MarcinK