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

[GELÖST] CAPI Problem

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von copperfield, 23 Juli 2005.

  1. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo zusammen,
    ich komme mit meiner CAPI Konfiguration leider nicht weiter und wuerde mich ueber ein wenig Hilfe sehr freuen.
    Asterisk hängt an einer Elmeg ISDN Anlage mit der MSN 15 und ich nutze die Fritz Card PCI.
    Beim Start von Asterisk wird die ISDN Karte auch erkannt:

    [chan_capi.so] => (Common ISDN API for Asterisk)

    == Parsing '/etc/asterisk/capi.conf': Found

    -- This box has 1 capi controller(s).

    -- CAPI/contr1 supports DTMF

    -- CAPI/contr1 supports supplementary services

    > sent FACILITY_REQ (CONTROLLER=0x1)

    > FACILITY_CONF INFO = 0

    > HOLD/RETRIEVE

    > TERMINAL PORTABILITY

    > ECT

    > 3PTY

    > CF

    > CD

    > MCID

    > CCBS

    > MWI

    > CCNR

    == ast_capi_pvt(,incoming_capi,0,2) (1,2,64)

    == ast_capi_pvt(,incoming_capi,0,2) (1,2,64)

    -- listening on contr1 CIPmask = 0x1fff03ff

    == Registered channel type 'CAPI' (Common ISDN API Driver (0.4.0) aLaw 1.0.8)

    == Registered application 'CallingPres'


    Aber es funktionieren weder eingehende noch ausgehende Calls über die ISDN Anbindung. Die ISDN MSN 15 scheint gar nicht zu existieren...

    Wenn ich z.B. versuche von SIP nach ISDN zu wählen dann erhalte ich folgende Fehlermeldung:

    *CLI>
    -- Executing Dial("SIP/ms1-f721", "CAPI/15:19|120|tT") in new stack

    -- data = 15:19
    Jul 23 19:56:17 ERROR[3113]: chan_capi.c:1236 capi_request: Syntax error in dialstring. read the docs!
    Jul 23 19:56:17 NOTICE[3113]: chan_capi.c:1293 capi_request: didn't find capi device with controller = 0 or group = 0.
    Jul 23 19:56:17 NOTICE[3113]: app_dial.c:777 dial_exec: Unable to create channel of type 'CAPI'

    == Everyone is busy/congested at this time

    -- Executing Hangup("SIP/ms1-f721", "") in new stack

    == Spawn extension (default, 319, 2) exited non-zero on 'SIP/ms1-f721'

    -- Saved useragent "CSCO/7" for peer xlite1



    Mein Dial String in Extensions.conf sieht so aus:
    exten => _3.,1,Dial(CAPI/15:${EXTEN:1},120,tT)

    d.h. wenn ich 3 vorwähle moechte ich in die klass. Welt....

    Gruss
    Copperfield
     
  2. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi
    welchen chan_capi verwendest du denn?
    gruß
    thorsten
     
  3. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Thorsten,
    wie finde ich das heraus ?
    Gruss
    Peter
     
  4. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich bin weitergekommen - aber noch immer nicht am Ziel...

    Es gab wohl ab chan_capi-cm-0.5 eine Änderung im Syntax...
    d.h.

    Der dialplan muss auch entsprechend abgeändert werden z.B.:

    exten => _.,1,SetCIDNum(37) ; abgehende MSN
    exten => _.,2,SetCallerPres(prohib) ; oder allowed (default) -> (CLIR)
    exten => _.,3,Dial(Capi/contr1/${EXTEN},,)

    Hat prima funktioniert - ich kann jetzt in die ISDN Welt anrufen !!!

    Nur umgekehrt funktioniert es leider noch nicht.

    Gruss
    Copperfield
     
  5. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Eingehende Anrufe funktionieren leider noch nicht.

    Meldung: did not find device for msn=15
    Im Web habe ich folgendes dazu gefunden:
    The error message: "capi_handle_msg: did not find device for msn =..." occurs also, when your extensions.conf is incomplete.
    If an incoming call cannot be matched to a client device you will get this error message.

    Meine Extensions.conf fuer eingehende Calls von der ISDN Anlage sieht so aus:

    exten => 15,1,Answer()
    exten => 15,2,DIAL(SIP/xlite1,20)
    exten => 15,3,Hangup


    Was mache ich nur falsch ?
    Hat sich hier auch der Kontext geändert - (Vermutlich habe ich eine chan_capi >0.5

    Gruss
    Copperfield
     
  6. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi
    in der capi.conf wird der context angegeben in den ankommende gespräche geschickt werden.
    hast du den angepasst auf deinen "incomming"-context (je nachdem wie der heißt)?
    meine extensions sehen dann so aus
    exten => 461234,1,Answer()
    exten => 461234,2,DIAL(SIP/test)

    wobei 461234 die MSN ist die reinkommt (ist dein asterisk direkt an der amtsleitung? wenn der asterisk hinter einer telefonanlage ist musst du die angerufene interne MSN nehmen)

    gruß
    thorsten
     
  7. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Thorsten,
    erst einem vielen Dank fuer Deine Hilfe und Deine Geduld.
    Habe noch einmal alles durchgesehen. Die CAPI.conf stimmt d.h. die kontexte sind richtig.
    Und mein in_capi in der extens.conf sieht so aus wie bei Dir...

    Die MSN ist 15 (Nebenstelle der TK Anlage) und ich bekomme folgende Meldung wenn ich von einem ISDN Telefon die Nebenstelle 15 rufe:

    ERROR[11425]: chan_capi.c:2073 capi_handle_msg: received a call waiting
    CONNECT_IND

    Die Meldung kommt verzögert.

    Ich habe keine Ahnung mehr wo es hängen könnte.

    Interessant ist dass ich von SIP nach ISDN telefonieren kann - sogar rauswählen ins Netz ist kein Problem - d.h. die ISDN Karte sollte richtig installiert sein...

    Gruss
    Peter

    für jeden tipp dankbar
     
  8. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich muss nochmal nachfragen:
    wo hast du was angeschlossen?
    bei telefonanlagen bitte auch angeben was der "amtsanschluss" und was der nebenstellenanschluss ist...

    gruß
    thorsten
     
  9. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Thorsten,
    ich habe mittlerweile ein sehr ähnliches Problem gefunden
    schau bitte mal hier:
    http://www.ip-phone-forum.de/forum/viewtopic.php?t=18667

    dort habe ich mein capi debug gepostet.

    Asterisk hängt am internen S0 Bus meiner ELMEG C46e
    Ich habe nur noch ein zusätzliches ISDN Phone angeschlossen (msn19) und dass klingelt auch brav wenn ich vom SIP Phone aus anrufe.

    Nur eben der Anfruf vom ISDN nach SIP geht nicht - ich habe die configs in Asterisk mehrfach angesehen und komme echt nicht weiter...
    Gruss
    Peter
     
  10. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    okay. dann poste doch mal deine sip.conf
    ich vermute da liegt der hund begraben...

    wenn du von isdn die 15 anrufst, passiert dann was auf deiner asterisk-console?

    gruß
    thorsten
     
  11. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Thorsten,
    auf der Konsole tut sich meist nichts wenn ich vom ISDN Phone die MSN15 anrufe.
    Manchmal bekomme ich die Meldung:
    ERROR[11425]: chan_capi.c:2073 capi_handle_msg: received a call waiting
    CONNECT_IND

    SIP Telefone können untereinander telefonieren und SIPGATE und DUSNET funktioniert auch.

    Wenn ich capi debug aktiviere kommt die Meldung :

    == CONNECT_IND (PLCI=0x101,DID=15,CID=001728388511,CIP=0x10,CONTROLLER=0x1)
    Jul 24 15:49:57 ERROR[12722]: chan_capi.c:2171 capi_handle_msg: did not find device for msn = 15
    > sent CONNECT_RESP for PLCI = 0x101
    -- INFO_IND ID=002 #0x0a45 LEN=0019
    Controller/PLCI/NCCI = 0x101
    InfoNumber = 0x28
    InfoElement =




    Meine SIP Config sieht so aus:

    ; SIP Configuration for Asterisk

    [general]
    context=default ;default - Default context for incoming calls
    ;recordhistory=yes ; Record SIP history by default
    ; (see sip history / sip no history)
    realm=network.net ; Realm for digest authentication
    ; defaults to "asterisk"
    ; Realms MUST be globally unique according to RFC 3261

    port=5060
    bindaddr=0.0.0.0
    srvlookup=yes
    disable=all

    insecure=very
    canreinvite=no

    ;dtmfmode=info



    tos=184
    tos=lowdelay
    ;maxexpirey=3600
    ;defaultexpirey=120
    ;notifymimetype=text/plain
    ;videosupport=yes

    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    ;allow=g726

    [general]
    ;musicclass=default ; Sets the default music on hold class for all SIP calls
    ; This may also be set for individual users/peers
    language=de ; Default language setting for all users/peers
    ; This may also be set for individual users/peers
    ;relaxdtmf=yes ; Relax dtmf handling
    ;rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity
    ; when we're not on hold
    ;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP activity
    ; when we're on hold (must be > rtptimeout)
    ;trustrpid = no ; If Remote-Party-ID should be trusted
    ;progressinband=no ; If we should generate in-band ringing always
    ;useragent=Asterisk PBX ; Allows you to change the user agent string
    nat=no ; NAT settings
    ; yes = Always ignore info and assume NAT
    ; no = Use NAT mode only according to RFC3581
    ; never = Never attempt NAT mode or RFC3581 support

    register => xxxxxx:xxxxxx@sipgate.de/xxxxxx

    register => xxxxxxx:xxxxxx@voip.dus.net/xxxxxxxx


    externip=xxxx.homeip.net

    localnet=192.168.1.0/255.255.255.0


    [sipgate]
    type=friend
    context=incoming_sipgate ; we only want to call out, not be called

    insecure=very
    qualify=yes
    nat=no
    username=xxxxxxxx
    fromuser=xxxxxxxxxx
    authuser=xxxxxxxxxxxx
    fromdomain=sipgate.de
    secret=xxxxxxxxx
    host=sipgate.de
    qualify=yes
    ;dtmfmode=info
    canreinvite=no

    [dusnet]
    type=friend
    context=incoming_dusnet ; we only want to call out, not be called
    insecure=very
    qualify=yes
    nat=no
    username=000xxxxxxxx
    fromuser=000xxxxxxxxxx
    authuser=000xxxxxxxxxx
    fromdomain=voip.dus.net
    secret=xxxxxxxx
    host=voip.dus.net
    qualify=yes
    ;dtmfmode=info
    canreinvite=no


    [xlite1]
    ;Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
    ;Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
    type=friend
    regexten=21 ; When they register, create extension 21
    username=phone
    secret=phone
    callerid="" <21>
    host=dynamic
    nat=no ; X-Lite is behind a NAT router
    canreinvite=yes ; Typically set to NO if behind NAT
    disallow=all
    allow=ulaw
    allow=gsm ; GSM consumes far less bandwidth than ulaw
    allow=alaw
    mailbox=21@default
    ;dtmfmode=info



    [xlite2]
    ;Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
    ;Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
    type=friend
    regexten=22 ; When they register, create extension 22
    username=phone2
    secret=phone2
    callerid="1. OG" <22>
    host=dynamic
    nat=no ; X-Lite is behind a NAT router
    canreinvite=yes ; Typically set to NO if behind NAT
    disallow=all
    allow=ulaw
    allow=gsm ; GSM consumes far less bandwidth than ulaw
    allow=alaw
    mailbox=22@default

    [ms1]
    type=friend
    regexten=23
    username=ms1
    secret=yabadabadoo
    callerid="3. Stock" <23>
    host=dynamic
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    mailbox=23@default

     
  12. tschloss

    tschloss Neuer User

    Registriert seit:
    8 März 2004
    Beiträge:
    52
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Peter,
    bei meiner PBX habe ich eine Funktion "Telefon ist angeschlossen". Dort kann ich einzelne interne Anschlüsse (ISDN(MSN bzw. analoge Durchwahlen) (de-)aktivieren.

    Vielleicht probierst DU es mal mit der 19, statt dem ISDN-Fon?

    Greetz
    Thomas
     
  13. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi copperfiled,
    was mir auffällt (ich weiss aber nicht ob es daran liegt):
    bei mir würde dein xlite1-configteil so aussehen

    [21]
    ;Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
    ;Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
    type=friend
    username=phone
    secret=phone
    callerid="" <21>
    host=dynamic
    nat=no ; X-Lite is behind a NAT router
    canreinvite=yes ; Typically set to NO if behind NAT
    disallow=all
    allow=ulaw
    allow=gsm ; GSM consumes far less bandwidth than ulaw
    allow=alaw
    mailbox=21@default
    ;dtmfmode=info

    regexten=21 ; When they register, create extension 21

    den context "regexten=21" kannst du dir dann wohl sparen (ich habe den bisher noch nie gesehen/verwendet). zusätzlich habe ich noch die parametrer "host=dynamic" und "defaultip=192.168.0.34" drinnen.
    Der dial-context ist dann
    exten => 21,1,Answer()
    exten => 21,2,DIAL(SIP/21,20)
    exten => 21,3,Hangup


    hilft dir das weiter?
    viel erfolg.
    thorsten
     
  14. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Thorsten,
    vielen Dank fuer den Input - aber dass verstehe ich nicht.

    Die MSN fuer die Fritz Card ist MSN 15 (so auch in der Capi.conf definiert)
    Weshalb soll ich jetzt die 21 im context eintragen ?
    also Du meinst

    [capi_in]
    exten =>21,1,Answer()
    usw.

    muesste dass nicht
    exten =>15,1,Answer()
    usw.

    sein. ???

    Wie gesagt - die "SIP Welt" ist bei mir in Ordnung...
    d.h. ich kann zwischen den SIP Phones und nach draußen ueber die Provider problemlos telefonieren....
    Sogar ins ISDN und von dort in die grosse weite Welt funktioniert....
    Nur eben von ISDN nach SIP nicht...
    Was mir aber auffällt ist dass wenn ich von SIP nach ISDN anrufe wird die "falsche MSN" auf dem Display des Phones angezeigt - und zwar die 10 statt einer 15.
    Interessanterweise ist die 10 die eingestellte default MSN des internen S0 Busses der ELMEG Anlage (warum gibt es ueberhaupt eine MSN fuer den internen Bus ??? - dachte immer dass die MSN´s nur fuer Endgeräte interessant sind....)
    Die MSN 15 (meiner ISDN Fritz PCI Karte - in der Capi Conf so angegeben) wird brav beim context CAPI_out in der extensions.conf angegeben
    exten => _3.,1,SetCIDNum (15)

    Strange oder ?

    Vielleicht hat das mit meinem Problem was zu tun ?

    Gruss
    Copperfield
     
  15. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Thorsten,
    u.U. macht es Sinn den chan_capi auf die neueste Version zu bringen ????
    Ist dass eine sehr komplexe Operation ?
    und gibt es dazu eine einigermassen gute Anleitung ?
    Gruss
    Peter
     
  16. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  17. copperfield

    copperfield Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Problem gelöst !!!!!!!!!!

    Es ist mir unendlich peinlich !!!!!!!!
    Ich habe mich in der capi.conf vertippt
    statt incoming msn hatte ich incomming msn drinnen
    damit ist klar dass es nicht funktionieren kann.

    Thorsten - DANKE DANKE fuer Deine Geduld und Ausdauer !!!

    Gruss
    Peter