Teilnehmerziele begrenzen

canram

Neuer User
Mitglied seit
24 Jul 2004
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich betreibe nen Asterisk mit mehreren internen Sip-Teilnehmern.
In die Ausenwelt führen zwei Lines.

Eine zu Sipgate und die andere über CAPI-ISDN.

Das funktionierte in der extensions.conf bisher wie folgt ganz gut:

[xxx_via_sipgate_<nummer>]
exten => _99X.,1,SetCallerID,"<callerid>"
exten => _99X.,2,SetCIDName,"<name>"
exten => _99X.,3,Dial(SIP/${EXTEN:2}@sipgate_<nummer>,90,tr)
exten => _99X.,4,Playback(invalid)
exten => _99X.,5,Hangup

[xxx_via_capi_<isdn-nummer>]
exten => _0X./3001,1,Dial,CAPI/<isdn-nummer>:b${EXTEN:1}
exten => _0X./3001,2,Congestion
exten => _0X./3001,3,Hangup

Mit der 99 als Vorwahl gingen die Teilnehmer über Sipgate raus, mit der 0 direkt über ISDN.

Ich möchte nun die Externe Wahl (also Sipgate oder ISDN) nur auf einen Telnehmer begrenzen. Nehmen wir an der Teilnehmer hat die interne SIP-Numemr 3001.

Folgendes habe ich versucht.

[xxx_via_sipgate_<nummer>]
exten => _99X./3001,1,SetCallerID,"<callerid>"
exten => _99X./3001,2,SetCIDName,"<name>"
exten => _99X./3001,3,Dial(SIP/${EXTEN:2}@sipgate_<nummer>,90,tr)
exten => _99X./3001,4,Playback(invalid)
exten => _99X./3001,5,Hangup

[xxx_via_capi_<isdn-nummer>]
exten => _0X./3001,1,Dial,CAPI/<isdn-nummer>:b${EXTEN:1}
exten => _0X./3001,2,Congestion
exten => _0X./3001,3,Hangup

Bei der Rauswahl über ISDN klappt das Super. Nur noch Teilnehmer 3001 kann über ISDN herauswählen. Alle anderen nicht.

Bei den Link über Sipgate kann nun allerdings nicht mal mehr Teilnehmer 3001 rauswählen.

Asterisk sagt mir in der Console folgendes.

-- Executing SetCallerID("SIP/3002-8aeb", "<callerid>") in new stack
Aug 10 21:25:20 WARNING[1234379840]: pbx.c:1858 ast_pbx_run: Channel 'SIP/3002-8aeb' sent into invalid extension '9909193689757' in context 'intern', but no invalid handler

Checkt das einer? :) Bin bin bisschen ratlos.

Gibt es evtl. noch andere Möglichkeiten um Teilnehmer nur auf bestimmte Interface zu berechtigen?

Danke schon mal.

MfG, Canram.
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
Channel 'SIP/3002-8aeb' sent into invalid extension '9909193689757'

Ist das echt Teilnehmer 3001 ? Sieht mir nach 3002 aus :)

Desweiteren sieht es für mich so aus, dass das SIP-Telefon den context intern benutzt, aber das 99X. nicht in diesem Context definiert ist ?

Ja ich weiss, vorher ging alles problemlos :) :)

Geschickt kann man es über Contexte lösen, Teilnehmer 3001 eben im Context ctx_teiln3001 steuern und nur dort das _99X. definieren.
 

canram

Neuer User
Mitglied seit
24 Jul 2004
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Channel 'SIP/3002-8aeb' sent into invalid extension '9909193689757'

Ist das echt Teilnehmer 3001 ? Sieht mir nach 3002 aus
Sorry. Ich habe es mal mit 3002 und 3001 umgeschrieben. Hab hier lediglich das falsche Output gepostet. Mit 3001 siehts genauso aus.


Desweiteren sieht es für mich so aus, dass das SIP-Telefon den context intern benutzt, aber das 99X. nicht in diesem Context definiert ist ?
Also im context intern siehts bei mir folgendermasen aus.

[intern]
include => local
include => xxx_via_capi_<isdn-nummer>
include => xxx_via_sipgate_<nummer>
include => demo
include => echotest
include => sipgatetest
include => voicemail

Über ein include wird xxx_via_sipgate_<nummer> mit eingeschlossen, welcher dann wiederum die extension 99X enthält. (siehe erster Post)

Seltsamerweise scheint er da ja auch reinzuspringen. Denn wenn ich von einem anderen Teilenhmer versuche über Sipgate rauszuwählen (z.B. 3004) passiert nichts und er spuckt im Debug auch nichts aus. Also genauso wie es eigentlich auch sein soll.


Geschickt kann man es über Contexte lösen, Teilnehmer 3001 eben im Context ctx_teiln3001 steuern und nur dort das _99X. definieren.
Jetzt wo Du es sagst? Lösungen können manchmal so simpel sein. Ich denk wohl immer zu kompliziert. Das werde ich heute Abend mal ausprobiern. Trotzdem komisch, dass das andere nicht funktioniert.

MfG, Canram.
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
Hoffe ich hab mich nicht unklar ausgedrückt :)
Man kann in sip.conf bei [3001] eben context=ctx_teiln3001 definieren und nur dort _99X. definieren.

Aber ich glaub Du hast es schon richtig verstanden :)

Zu obiger Geschichte, ich hab auf die Schnelle keine Idee.
 

canram

Neuer User
Mitglied seit
24 Jul 2004
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Ich hab Dich schon richtig verstanden :) Und es funktioniert so auch echt gut :)

Danke für den Tipp.
 

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,920
Beiträge
2,028,165
Mitglieder
351,084
Neuestes Mitglied
knuller