Dial by Name

linuxnewbie

Neuer User
Mitglied seit
12 Jul 2006
Beiträge
58
Punkte für Reaktionen
0
Punkte
0
hallo,
gibt es eine Möglichkeit Dial by Name zu realisieren ?
Beispielsweise phone13:

Momentan werden die verwendeten Sipphones über eine Nummer angerufen ...
Code:
exten => _Z.,n,Dial(SIP/phone${EXTEN},${DIALTIMEINTERN},g,h,H)
wobei ${EXTEN} = 13 ist

geht es auch direkt: z B.:

Code:
exten => s,1,Dial(SIP/${EXTEN},${DIALTIMEINTERN},g,h,H)
wobei ${EXTEN} = phone13 ist ?
(funktioniert bei mir nicht, * reagiert erst gar nicht, * will nur Ziffern haben, er sagt phone13 ist unbekannt)

Gruß linuxbee:rolleyes:
 
Zuletzt bearbeitet:
Im Prinzip ist das so richtig gemacht, steht denn Phone13 auch so in Deiner sip.conf, respective hast Du auch ein SIP reload gemacht nach der Änderung ?

Ansonsten füg mla vor dem Dial folgende Zeile ein und schau dir mal in der Asterisk CLI den output an :

exten => s,1,noop(${EXTEN})

Wenn das alles nicht hilft, poste mal deine extensions.conf und sip.conf.

Gruss

Daniel
 
posting

Auszug aus der extensions.conf

Code:
[default]
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,NoOp(EXTEN: ${EXTEN})
exten => s,3,Dial(SIP/${EXTEN},${DIALTIMEINTERN},g,h,H)

die Frage lautet, warum geht * nicht auf die s-extension ein ... ?
es passiert nix.

linuxbee:p
 
s matcht nicht phone13



exten => phone13,1,NoOp()
exten => phone13,n,DIAL(SIP/${EXTEN})
 
Oder etwas ausführlicher: Die s-Extension wird nur dann angesprochen, wenn keine gewählte Nummer bekannt ist (z.B. Analoganschluss oder keine Durchwahl am Anlagenanschluss gewählt). Außerdem matchen die Platzhalter X, N und Z nur Ziffern (X=0-9, N=2-9, Z=1-9).
 
vielen Dank, das wäre eine Lösung

Thomas007 schrieb:
exten => phone13,n,DIAL(SIP/${EXTEN})

Hintergrund:
ich habe verschiedene Gruppen:

phone1 - phone13
agent10 - agent24
.....

die alle kann man jetzt per Name ansprechen
muß jdeoch eben eine Zeile hinterlgeen ...


Frage am Rande: wie ist die extension s zu verstehen, wann match sie ?

Thomas007 schrieb:
s matcht nicht phone13

linuxbee:rolleyes:
 
Wie wäre es denn mit

exten => _phoneX,1,...
exten => _phoneXX,1,...

Einfacher wäre es natürlich, wenn du phone1-9 in phone01-09 umbenennst. ;)
 
exten => _phoneXX,1,NoOp()
EDIT: Das kann Asterisk doch nicht!

geht natürlich auch, ist aber ein gammlige Lösung.
Man möchte eine Ansage "Durchwahl nicht vorhanden" wenn man eine Nebenstelle anruft die es nicht gibt, daher für jede Nebenstelle eine Zeile anlegen und den Rest mit _phoneXX abfangen.


Mit den alphanumerischen peer Namen tust Du Dir kein Gefallen. Besser die peer namen numersich und alphanuemrische Namen quasi als alias erstellen.

exten => user,1,GoTo(internal,123,1)

exten => 123,1,Dial(SIP/${EXTEN})

s wird z.B. in einem Macro als default Einsprung genutzt und noch ein paar weitere Sonderfälle.
 
Zuletzt bearbeitet:
es geht um diese spezielle Anwendung ...

leider scheint dieses nicht zu funktionieren ?

exten => ${EXTEN},1,DIAL(SIP/${EXTEN})
:confused:

linuxbee:idea:
 
exten => ${EXTEN},1,DIAL(SIP/${EXTEN})

grusel, grusel!


exten => _.,1,DIAL(SIP/${EXTEN})

Das matcht alles sofort!
Anwendung in einer speziellen Konstruktion mit include um zu erreichen das andere pattern noch beachtet werden
 
Thomas007 schrieb:
exten => _phoneXX,1,NoOp()
geht natürlich auch, ist aber ein gammlige Lösung.

Geht das wirklich?
Bei mir nicht (allerdings mit AEL2 getestet).
Das Problem dürfte sein, das Asterisk nicht weiß, was zur Telefonnummer gehört und was ein Patternplatzhalter ist.
 
ne ne

das
linuxnewbie schrieb:
exten => ${EXTEN},1,DIAL(SIP/${EXTEN})


kommt von dem ...
Thomas007 schrieb:
exten => phone13,n,DIAL(SIP/${EXTEN})



vor diesem wird auch gewarnt
exten => _.,1,DIAL(SIP/${EXTEN})

funktioniert aber
:rolleyes:
linuxbee
 
Zuletzt bearbeitet:
cibi schrieb:
Geht das wirklich?
Bei mir nicht (allerdings mit AEL2 getestet).
.


Es geht nicht!

_phoneXX nein
_phone22 nein

Das war nicht zu erwarten!

OK, muss man halt über function REGEX gehen.
 
vielen Dank für die rege Teilnahme

das funktioniert wohl

Code:
exten => s,1,Dial(SIP/${EXTEN},${DIALTIMEINTERN},g,h,H)
wenn es im incoming context steht!

die sip.conf habe ich nicht gepostet weil fast nix mehr drinsteht -> wird realtime über mysql-Datenbank geladen ...

linuxbee:eek:
 
Zuletzt bearbeitet:
Ihr habt natürlich Recht. '_phoneXX' funktioniert nicht weil 'phone' ein 'N' enthält. :(

Wenn man '_.' verwenden will, sollte man übrigens unbedingt auch eine 'h'-Extension angeben. Sonst gibt es oft interessante Effekte.
 
Maik schrieb:
Ihr habt natürlich Recht. '_phoneXX' funktioniert nicht weil 'phone' ein 'N' enthält. :(.

Jetzt müsste man nur wissen wie n maskieren kann, dann wäre alles gut.
 
Mal ein paar Informationen zur extension s

1. Sie ist keine Wildcard-extension.
2. Wenn ein Call ohne Routing Information - z.B. Anruf auf einer analogen Leitung (da klingelt es einfach nur) - angeboten wird, dann wird die extension sangesprochen.
3. Wenn in dem incoming context keine extension vorhanden ist, wird möglicherweise die extension s gewählt.
4. Macros starten immer mit der extension s.
5. Wenn ich mich bei einem externen SIP-Server registriere ohne eine extension zu nutzen wird wird die extension s genutzt.

Ich hoffe hiermit sind einige Unklarheiten aufgeklärt :)
 
Maskieren von n:

Ich würde es einfach mal mit [n] versuchen - bin mir da aber nicht ganz sicher und kann es im Moment auch nicht ausprobieren.
 
linuxnewbie schrieb:
das funktioniert wohl

die sip.conf habe ich nicht gepostet weil fast nix mehr drinsteht -> wird realtime über mysql-Datenbank geladen ...

linuxbee:eek:

Dann gib doch mal bitte das ergebnis von "sip show peers" an damit du sehen kannst ob Asterisk auch das kennt von dem Du erwartest das Asterisk es kennt...
 
Kostenlos!

Statistik des Forums

Themen
249,052
Beiträge
2,309,528
Mitglieder
378,850
Neuestes Mitglied
IchBinEsDoch