.titleBar { margin-bottom: 5px!important; }

Teilnehmerziele begrenzen

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von canram, 10 Aug. 2004.

  1. canram

    canram Neuer User

    Registriert seit:
    24 Juli 2004
    Beiträge:
    27
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  2. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    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.
     
  3. canram

    canram Neuer User

    Registriert seit:
    24 Juli 2004
    Beiträge:
    27
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sorry. Ich habe es mal mit 3002 und 3001 umgeschrieben. Hab hier lediglich das falsche Output gepostet. Mit 3001 siehts genauso aus.


    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.


    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.
     
  4. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    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.
     
  5. canram

    canram Neuer User

    Registriert seit:
    24 Juli 2004
    Beiträge:
    27
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hab Dich schon richtig verstanden :) Und es funktioniert so auch echt gut :)

    Danke für den Tipp.