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

Erhalte keine ankommenden Rufe von TK-Anlage

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von TKI013, 1 Juni 2005.

  1. TKI013

    TKI013 Neuer User

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    52
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo an Alle,

    mein Asterisk hängt mit einer ISDN-KArte hinter einer TK-Anlage und mit der anderen Karte direkt an einem öffentlichen ISDN-Mehrgeräteanschluss. Die 4 Files zeigen eine funktionierende Lösung dafür:

    Anrufe gehen über CAPI raus (über MSN 535 zu anderen internen Nebenstellen der Anlage, oder aber auch ganz raus über die 3012092)
    und kommen rein über die selben MSN der beiden Controller und werden an Firefly signalisiert.

    *********************** SIP.CONF *************************
    [general]
    port = 5060
    bindaddr = 192.168.1.100

    ; *** Softphone: X-Lite ***
    [510]
    type=friend
    context=X-Lite
    host=dynamic
    username=510
    callerid="Odin"=<510>
    qualify=200
    secret=510

    ************************** IAX.CONF ***********************
    [general]
    bindport=4569
    bindaddr=192.168.1.100
    bandwidth=high

    ; *** Softphone: Firefly ***
    [530]
    type=friend
    context=Firefly
    username=530
    host=dynamic
    callerid="Thor"=<530>
    secret=530
    qualify=200

    ****************** EXTENSIONS.CONF ************************************
    [general]
    static=yes
    writeprotect=no

    ; *************************************
    ; *** Waehlregeln fuer jeden Client ***

    [X-Lite]
    include => intern
    include => capi-contr1
    include => capi-contr2

    [Firefly]
    include => intern
    include => capi-contr1
    include => capi-contr2

    [intern]
    exten => _51X,1,Dial(SIP/${EXTEN})
    exten => _53X,1,Dial(IAX2/${EXTEN})

    ; **************************************************
    ; *** Waehlregeln fuer die beiden Schnittstellen ***

    [capi-contr1]
    exten => _0XXX.,1,Dial(CAPI/@3012092:${EXTEN-1})
    exten => _0XXX.,2,Congestion
    exten => 3012092,1,Dial(IAX2/530)

    [capi-contr2] ; Dekade: 53x
    exten => _XX,1,Dial(CAPI/@535:${EXTEN})
    exten => _XX,2,Congestion


    ********************** CAPI.CONF **********************************
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8

    [interfaces]

    ; *** Controller 1 ****
    msn=3012092 ; 510,511,512,513,514,515,516,517,518,519
    incomingmsn=3012092 ; 510,511,512,513,514,515,516,517,518,519
    accountcode=
    context=capi-contr1
    callergroup=1
    controller=1
    devices=2
    softdtmf=1

    ; *** Controller 2 ***
    msn=530,531,532,533,534,535,536,537,538,539
    incomingmsn=* ; 530,531,532,533,534,535,536,537,538,539
    accountcode=
    context=capi-contr2
    callergroup=1
    controller=2
    devices=2
    softdtmf=1

    So wie die Files jetzt sind, wird ein ankommender Ruf über die 3012092 am IAX2 Firefly Softphone signalisiert. Bedeutet also für mich: Config-Files sind OK. Aber: nun soll der öffentliche Anschluss auch an die Anlage.

    Also es sollen beide Controller an 2 Ports der Anlage hängen: 51x und 53x. Es liegen also an beiden Ports je 10 MSN an und die sollen an die internen Asterisk-IP-Phones vergeben werden (weitere Clients folgen später). Ich versuche verzweifelt irgend einen Anruf in Asterisk reinzubekommen, aber es klappt einfach nicht. Wenn ich jetzt z.B. an den Port 51x gehe und * entsprechend konfiguriere, passiert folgendes:

    Fall 1 mit folgenden Einträgen:
    msn=510
    incommingmsn=510
    exten => 510,1,Dial(IAX2/530)
    ... es passiert absolut gar nichts.

    Fall 2 mit folgenden Einträgen:
    msn=510
    incommingmsn=*
    exten => 510,1,Dial(IAX2/530)
    ... Asterisk reagiert wenigstens, aber mit folgender Fehlermeldung:

    Asterisk Ready.
    -- creating pipe for PLCI=0x101 msn = *
    sent ALERT_REQ PLCI = 0x101
    -- started pbx on channel (callgroup=0)!
    == Starting CAPI[contr1/s]/0 at capi-contr1,s,1 failed so falling back to exten 's'
    == Starting CAPI[contr1/s]/0 at capi-contr1,s,1 still failed so falling back to context 'default'
    Jun 1 19:12:27 WARNING[31160]: pbx.c:1889 ast_pbx_run: Channel 'CAPI[contr1/s]/0' sent into invalid extension 's' in context 'default', but no invalid handler
    -- CAPI Hangingup
    sent CONNECT_RESP for PLCI = 0x101
    -- removed pipe for PLCI = 0x101

    Fall 3 mit folgenden Einträgen:
    msn=50
    incommingmsn=*
    exten => s,1,Dial(IAX2/530)
    ... Jetzt klingelt endlich die 530. Dummerweise sofort, wenn irgendein Setup auf dem Bus passiert. Ich kann also keine einzige MSN ganz sauber einem speziellen Tln an Asterisk zuordnen :(

    Wenn also 10 Rufnummern an diesem Port anliegen, dann kann ich damit nicht arbeiten :(( Nun wollte ich diese Dekaden-Geschichte 51x mal aussen vor lassen und hab den zweiten Anschluss von Asterisk mal an beliebigen anderen internen S0-Ports der Anlage ausprobiert (Port von ganz normalen ISDN-Telefonen oder auch mal Port eines G4-Fax-Gerätes), aber immer mit dem selben negativen Ergebnis. Wenn ich statt dem ISDN-Telefon an Port 33, oder statt dem Fax-Gerät an Port 55, wo also wirklich nur die eine Nummer anliegt, den Asterisk anschließe, krieg ich nie nen anständigen Ruf über die anliegende MSN rein.

    Hab schon mit den Parametern accountcode und nationalpraefix usw. rumexperimentiert, aber das hilft alles nichts. Irgendwelche Einstellungen von Asterisk vertragen sich nicht mit der Anlage, wie es scheint.....
    Intern und nach aussen geht absolut alles sauber, auch über capi. Nur rein will nichts ordentlich, sodass ich meine späteren (10) Tln direkt addresieren kann.

    Weißt irgendjemand Rat ????????
    Komme sonst hier echt nicht weiter :((

    Viele Grüße und schonmal Danke
    Ronny
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
  3. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    In der sip.conf fehlt unter [general] ein context= (default ist default)!
    Daher sucht er bei eingehenden Gesprächen eine s-Extension im context=default.
     
  4. TKI013

    TKI013 Neuer User

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    52
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    OK, ist gemerkt fürs nächste mal und gelobe Besserung!

    - meiner Meinung nach liest sich der Quellcode so besser, wenn er im ganzen dargestellt wird
    - wußte halt nicht genau, in welchem Topic ich die Anfrage stellen sollte, SORRY.

    Trotz alledem besteht mein Problem weiterhin: ich komme weder über den einen Controller über die 52 rein, noch über den anderen Controller über 53x.

    Ich kann zwar exten=>s.1.Dial(IAX2/530) schreiben, dann kommt ja quasi jeder Ruf zu diesem Telefon mit der Nummer 530 rein. Aber dann kann ich doch die ganzen anderen IP-Phones nicht gezielt ansprechen. :(
    Und darum gehts doch.

    Das ganze soll später mal ungefähr so aussehen, wie ich es in der Extensions.conf bereits auskommentiert dargestellt habe.

    IAX.CONF
    Code:
    [general]
    bindport=4569
    bindaddr=192.168.1.100
    bandwidth=high
    context=default
    
    ; ******************* Softphone: Firefly *************
    [530]
    type = friend
    context = Firefly
    username = 530
    host = dynamic
    callerid = "Thor" = <530>
    secret = 530
    qualify = 200
    
    SIP.CONF
    Code:
    [general]
    port = 5060
    bindaddr = 192.168.1.100
    context=default
    
    ; ************ Softphone: X-Lite ************
    [52]
    type = friend
    context = 52
    host = dynamic
    username = 52
    callerid = "Odin" = <52>
    qualify = 200
    secret = 52
    
    CAPI.CONF
    Code:
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8
    
    [interfaces]
    
    ; *** Controller 1 **** 
    msn=52			; 510,511,512,513,514,515,516,517,518,519
    incomingmsn=*		; 510,511,512,513,514,515,516,517,518,519
    accountcode=
    context=default
    callergroup=1
    controller=1
    devices=2
    softdtmf=1
    
    ; *** Controller 2 *** 
    msn=530,531,532,533,534,535,536,537,538,539
    incomingmsn=*
    accountcode=
    context=default
    callergroup=1
    controller=2
    devices=2
    softdtmf=1
    
    EXTENSIONS.CONF
    Code:
    [general]
    static=yes
    writeprotect=no
    
    [default]
    
    ; für ankommende Rufe
    exten => 52,1,Dial(SIP/52)
    exten => 530,1,Dial(IAX2/530)
    
    ; exten => 531,1,Dial(SIP/531)
    ; exten => 532,1,Dial(IAX2/532)
    ; exten => 533,1,Dial(MGCP/533)
    ; ..... usw. ................
    
    ; für abgehende Rufe
    exten => _0XXX.,1,Dial(CAPI/${CALLERIDNUM:0:3}:${EXTEN})
    exten => _XX,1,Dial(CAPI/${CALLERIDNUM:0:3}:${EXTEN})
    
    [52]
    include => default
    include => intern
    
    [Firefly]
    include => default
    include => intern
    
    [intern]
    exten => _51X,1,Dial(SIP/${EXTEN})
    exten => _53X,1,Dial(IAX2/${EXTEN})
    
    Woran kann's denn nun noch liegen ???
    Ronny
     
  5. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich kann Dir vielleicht helfen:
    Deine capi.conf passt nicht. Wenn Du über die 3012092 ins PSTN telefonieren willst, wo steht die Nummer dann in der capi.conf? Controller 2 soll wohl am öffentlichen Netz hängen, oder? Wie wilst Du dann von der 525 (was wohl schon deine deiner externen MSNs ist) eine interne Nummer anrufen? Die Tk-Anlage (an der die Telefon hängen) hängt doch an einem ganz anderen Kabel, oder (Kontroller1), oder?
    Im übrigen ist es immer ein guter Rat, eingehende und abgehende Anrufe in der extensions.conf zu trennen (bzw. zwei controller, die nicht auf die gleichen MSNs reagieren). So kann man überlappungen und verwechslungen besser verhindern.
     
  6. TKI013

    TKI013 Neuer User

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    52
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sorry,sorry,sorry.
    ich danke erstmal für die Antworten.


    Nochmal zum Verständnis:

    Hab in den letzten Tagen nur getreu dem motto: trial and error experimentiert. hab die confs ständig geändert und die anschlüsse: mal intern mal extern usw.

    Fazit:

    Die Konfiguration ganz obern in diesem Thread: Asterisk an folgenden 2 Anschlüssen (53x an HiCom und 3012092 direkt am NTBA) funktioniert tadelos (intern, rein(nur über 3012092) und raus) => das beweist mir nur, dass alles richtig eingebunden und konfiguriert ist, sodass wenigstens über den externen Anschluss (3012092) ein Ruf zu Asterisk reinkommen kann, so wie er soll: exten=>3012092,1,Dial(.....). Dieses Szenario war ein Test.

    Aber:

    Asterisk soll nun aber an 2 Ports der HiCom ran (Port 53x, also 530...539 und Port 52 z.B.) So wie die 4 Configs meines letzten Beitrages (grüner Code) sind, war mein letzter Versuch, den ich gemacht habe.

    Egal an welchem Port der HiCom ich Asterisk anschließe, ich bekomme keinen zielgerichteten Ruf rein, raus und intern geht alles.

    Es geht: msn=52
    incommingmsn=*
    exten=>s,1,Dial(SIP/52)
    => somit reagiert der auf alles was reinkommt immer auf dem selben Telefon.

    Es geht aber nicht, was ich brauche:
    msn=52
    incommingmsn=52
    exten=>52,1,Dial(SIP/52)

    => denn das soll dann später so aussehen:
    msn=530,531,532,533......
    incommingmsn=530,531,532,533........
    exten=>530,1,Dial(SIP/530)
    exten=>531,1,Dial(IAX2/531)
    exten=>532,1,Dial(MGCP/532)
    usw....
    Nur so kann jeder Client auf seine eigene Rufnummer hören.

    (Aber mit dem externen ISDN-Anschluss 3012092, also ohne über die HiCom zu gehen, kommt der Ruf ordentlich rein)

    Und in den Beispielen die ich gelesen habe, machen die anderen das auch nicht anders wie ich, oder? Und zum Thema Übersichtlichkeit: bin ich auch dafür und dachte, dass ich das im obersten Conf-Bsp. ganz gut hinbekommen habe. Aber jetzt hab ich alles wieder über den Haufen geworfen, weil ich dachte das Problem liegt irgendwo bei einer falschen context-Zuweisung.

    Ich weiß nicht ob das an der HiCom liegt (aber andere ISDN-Geräte können auch über die MSN 52 am Port 52 erreicht werden), ob das an irgendwelchen kleinen scheinbar unbedeutenden Parametern von Asterisk liegt, ob sonst noch irgendwo im Linux-System ein Eintrag für die ISDN-Controller gemacht werden muss, oder ob ich meine Configs falsch habe ??????????????

    Ich nehm jetzt gleich den Protokollanalyzer Argus 44 und vergleiche einen reinkommenden Ruf von der externen MSN 3012092 mit einem reinkommenden internen Ruf (z.B. von der HiCom-Nebenstelle 44).

    So verzweifelt bin ich schon. Irgendwo muss doch da noch ein Unterschied sein. Vielleicht schickt die HiCom bei einem Anruf, der von ihr intern kommt oder der über sie reinkommt, andere Parameter oder Optionen mit, als das bei einem externen Anschluss mit Euro-ISDN der Fall ist ???

    Ronny
     
  7. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Leider kenne ich mich mit der HiCom ISDN-Anlage nicht aus. Aber so selten ist die auch nicht. Benutz einfach mal die Suchfunktion des Forums. Gib als suchwort "Hicom" ein, und als Suchbereich (unten links) Asterisk (bzw Asterisk mit CAPI). Da dürften einige Beiträge kommen. UNd wenn Du da keine Lösung findest, dann könntest Du ja mal einzelne User anmailen, die auch ne Hicom haben, und da mal höflich anfragen, wie die es gemacht haben...
     
  8. TKI013

    TKI013 Neuer User

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    52
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    OK, so werd ichs wohl machen müssen.

    Scheint tatsächlich auch ein Problem in der Konfiguration der HiCom für Mehrgeräteanschlüsse zu sein.
    Denn jetzt hab ich den Asterisk mit seinen 2 ISDN-Karten mal an 2 andere Ports der HiCom angeschlossen, die als Analoganschlüsse konfiguriert sind (6x und 7x).
    Und siehe da, da läuft alles so wie es soll: intern, abgehende Rufe und jetzt auch gezielte ankommende Rufe. Wenn ich jetzt also die 77 oder die 65 anrufe, dann klingeln auch die entsprechenden IP-Telefone hinter Asterisk.

    Trotzdem vielen Dank.
    Ronny