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

Asterisk Konfiguration für ISDN/CAPI/HFC/SIP ?

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von akw, 28 Dez. 2004.

  1. akw

    akw Neuer User

    Registriert seit:
    17 Dez. 2004
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    vielleicht kann mir jemand helfen und mir erklären, wie ich mein Asterisk konfigurieren kann um folgende Aufgaben zu bewältigen:
    Ich habe ein ISDN-Telefon korrekt mit Crosskabel und NTBA an einer HFC-Karte angeschlossen.
    An einer AVM Fritz!DSL-Karte (CAPI) habe ich den NTBA meines ISDN-Anschlusses.

    Ich möchte gerne, dass das ISDN-Telefon bei SIP und bei ISDN-Anrufen klingelt und die Rufnummer anzeigt.
    Abgehende Gespräche sollen über SIP gehen, es sei denn die Rufnummer beginnt mit 010... oder ist ein Notruf (110 oder 112).
    Das ISDN-Telefon hat zwei Handgeräte (also 2 MSNs).

    Ist jemand so freundlich, eine Beispielkonfiguration für diese Aufgaben anzugeben?

    Vielen Dank!

    Nachtrag: Es wäre gut, wenn bei gewählten Rufnummern, die keine Vorwahl enthalten, meine Ortsvorwahl automatisch ergänzt wird, sonst kann mein SIP-Provider (1und1) nichts mit der Nummer anfangen.
     
  2. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  3. akw

    akw Neuer User

    Registriert seit:
    17 Dez. 2004
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mach ich, danke für den Link!
     
  4. jui

    jui Mitglied

    Registriert seit:
    18 Dez. 2004
    Beiträge:
    229
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @akw

    Wir arbeiten uns gerade durch die gleiche Sache. Interessant wäre mal Deine Konfiguration (Betriebssystem, Asterisk/Bristuff-Version, etc. sowie vielleicht ein paar Erfahrungen die Du gemacht hast (wo es Probleme gab und wie diese gelöst werden konnten).
    Ich hatte ziemlich Probleme zaphfc zum Laufen zu kriegen bzw. BriStuff komplett zu übersetzen unter SuSE 9.2 aber das ging jetzt alles. Ich dokumentiere mir das alles mit und werde dann genau zu unserem Fallbeispiel mal ne kurze Anleitung posten in der die Besonderheiten auch für nicht-Profis kurz erklärt werden. Leider mangelt es etwas an How-To's und es ist sehr umständlich sich die wichtigen Informationen aus den Forenbeiträgen zusammenzusammeln, aber immerhin gibt es diese Beiträge :)
     
  5. akw

    akw Neuer User

    Registriert seit:
    17 Dez. 2004
    Beiträge:
    84
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kein Problem,
    ich arbeite unter Debian, Kernel 2.6.9 und verwende den bristuff bri-stuff.0.1.0-RC4a.
    Nach anfänglichen Schwierigkeiten den zaphfc-Treiber zum laufen zu bringen, geht es nun einfach mit
    Code:
    modprobe zaphfc modes=1
    ztcfg -v
    asterisk -c
    Meinen extensions.conf habe ich nach einiger Mühe und Recherche so hinbekommen, dass eingehende Anrufe aus dem Festnetz die Telefone zum Klingeln bringen.
    Man kann auch mit den Telefonen raustelefonieren:
    Notrufe, 0800 und 010xx (CallbyCall) gehen über Festnetz, alle anderen über SIP, die 0190/0900/0088 sind gesperrt.

    Das einzige was noch nicht funktioniert, ist dass bei eingehenden SIP-Calls die ISDN-Telefone klingeln.

    Hier ist meine Konfiguration: (extensions.conf)
    Code:
    [general]
    static=yes
    writeprotect=no
    
    [globals]
    DEV_INTERN=Zap/g1
    DEV_EXTERN=CAPI
    ORTSVORWAHL=441
    LANDESVORWAHL=+49
    
    [default]
    include => ISDN-Telefone
    
    ; Teilnehmer:
    ; *****************************************************************************
    
    [macro-TeilnehmerXXXXXX]
    exten => s,1,SetVar(TEILNEHMER_NAME=Privat)
    exten => s,2,SetVar(TEILNEHMER_MSN=XXXXXX)
    
    [macro-TeilnehmerYYYYYYY]
    exten => s,1,SetVar(TEILNEHMER_NAME=Büro)
    exten => s,2,SetVar(TEILNEHMER_MSN=YYYYYYY)
    
    ; Abgehende und eingehende Telefonate
    ; *****************************************************************************
    
    [macro-Festnetzanruf]
    ; ARG1 = calleridnum, ARG2 = calleridname
    exten => s,1,SetCIDNum(${ARG1})
    exten => s,2,SetCIDName(${ARG2})
    exten => s,3,Dial(${DEV_EXTERN}/${TEILNEHMER_MSN}:b${EWL},60,tr)
    exten => s,4,Congestion
    exten => s,5,Busy
    exten => s,6,Hangup
    
    [macro-Internetanruf]
    ; ARG1 = calleridnum, ARG2 = calleridname, ARG3 = sipprovider
    exten => s,1,SetCIDNum(${ARG1})
    exten => s,2,SetCIDName(${ARG2})
    exten => s,3,SetVar(NUMBER2DIAL=${EWL})
    exten => s,4,GotoIf($[${ARG3:-5} = -intl]?5:6)
    exten => s,5,SetVar(NUMBER2DIAL=${INTL})
    exten => s,6,Dial(SIP/${NUMBER2DIAL}@${ARG3},60,tT)
    exten => s,107,GotoIf($[${DIALSTATUS} = CONGESTION]?108:109)
    exten => s,108,Macro(Festnetzanruf,${ARG1},${ARG2})
    exten => s,109,Playtones(busy);
    exten => s,110,Busy
    
    [macro-Verboten]
    exten => s,1,Answer
    exten => s,2,Wait(0.5)
    exten => s,3,Playback(ss-noservice)
    exten => s,4,Hangup
    
    [Leitungswahl]
    ; Notrufnummern 110, 112, 19222
    exten => _0${ORTSVORWAHL}110,1,SetVar(EWL=110)
    exten => _0${ORTSVORWAHL}110,2,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
    exten => _0${ORTSVORWAHL}112,1,SetVar(EWL=112)
    exten => _0${ORTSVORWAHL}112,2,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
    exten => _0${ORTSVORWAHL}19222,1,SetVar(EWL=19222)
    exten => _0${ORTSVORWAHL}19222,2,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
    
    ; Verbotene Nummern
    exten => _12345,1,Macro(Verboten)	; 12345
    exten => _019X.,1,Macro(Verboten)	; 019x
    exten => _0900X.,1,Macro(Verboten)	; 0900
    exten => _0088X.,1,Macro(Verboten)	; 0088 EMSAT
    
    ; Telekom freecall
    exten => _0800X.,1,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
    
    ; CallByCall
    exten => _010X.,1,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
    
    ; SIP über 1und1
    exten => s,1,Macro(Internetanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME},einsundeins)
    exten => s,2,Hangup
    
    ; Fallback
    exten => h,1,NoOp
    exten => t,1,Playtones(busy)
    exten => t,2,Busy
    
    [macro-Nummernumschreibung]
    ; ARG1 (Umzuschreibende Nummer), EWL (exten mit Ortsvorwahl), INTL (Internationales Format)
    exten => s,1,GotoIf($[${ARG1:0:2} = 00]?2:5)
    exten => s,2,SetVar(EWL=${ARG1})
    exten => s,3,SetVar(INTL=+${ARG1:2})
    exten => s,4,Goto(11)
    exten => s,5,GotoIf($[${ARG1:0:1} = 0]?6:9)
    exten => s,6,SetVar(EWL=${ARG1})
    exten => s,7,SetVar(INTL=${LANDESVORWAHL}${ARG1:1})
    exten => s,8,Goto(11)
    exten => s,9,SetVar(EWL=0${ORTSVORWAHL}${ARG1})
    exten => s,10,SetVar(INTL=+${LANDESVORWAHL}${ORTSVORWAHL}${ARG1})
    exten => s,11,NoOp
    
    [macro-Ungueltig]
    exten => s,1,Answer
    exten => s,2,Wait(0.5)
    exten => s,3,Playback(privacy-incorrect)
    exten => s,4,Hangup
    
    [Amtswahl]
    exten => _XXX.,1,Macro(Nummernumschreibung,${EXTEN})
    exten => _XXX.,2,Goto(Leitungswahl,${EWL},1)
    ; die Nummer fängt nicht mit drei Ziffern an -> ungültig!
    exten => i,1,Macro(Ungueltig)
    
    [ISDN-Telefone]
    exten => s,1,Wait(0.1)
    exten => s,2,DigitTimeout(2)
    exten => s,3,SetLanguage(de)
    exten => s,4,SetCIDNum(${CALLERIDNUM:1})
    ;exten => s,5,Dial(Zap/1/${TEILNEHMER_MSN},60,tr)
    exten => s,5,Dial(${DEV_INTERN}/${TEILNEHMER_MSN},60,tr)
    exten => s,6,Congestion
    exten => s,7,Busy
    exten => s,8,Hangup
    
    exten => _X.,1,Wait(0.1)
    exten => _X.,2,DigitTimeout(2)
    exten => _X.,3,SetLanguage(de)
    exten => _X.,4,Macro(Teilnehmer${PRI_NETWORK_CID})
    exten => _X.,5,Goto(Amtswahl,${EXTEN},1)
    
    Wäre schön, wenn das mit den eingehenden SIP-Calls noch klappt.
    Außerdem hätte ich noch gerne einen Anrufbeantworter und eine fernwartbare Handyweiterleitung. :p
     
  6. c64

    c64 Neuer User

    Registriert seit:
    4 Jan. 2005
    Beiträge:
    55
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,
    also ich musste in der sip.conf noch eine Section anlegen, die meinen Benutzernamen beinhaltet. Ausserdem muss man sich am anfang der sip.conf beim Provider registrieren.
    Ich habe die mal die Wichtigsten Punkte aus meiner sip.conf für sipgate rauskopiert. So ähnlich muss das Ganze dann auch irgendwie bei 1&1 gehen.

    Als Beispiel dient hier eine fiktive sip:12341234@sipgate.de Adresse.

    Code:
    [general]
    register => 12341234:********@sipgate.de/12341234
    
    [12341234]
    username=12341234
    fromuser=12341234
    fromdomain=sipgate.net
    host=sipgate.de
    secret=**********
    type=friend
    context=sipin
    disallow=all
    allow=gsm
    allow=ilbc
    allow=alaw
    allow=ulaw
    insecure=very
    
    Wie man erkennen kann landet man bei eingehenden Calls in der extensions.conf auf der Section [sipin]. Dort lasse ich dann mein Telefon klingeln.

    Code:
    [sipin]
    exten => 12341234,1,Dial,Zap/2|20 ; mein Telefon an HFC Karte im NT-Modus
    exten => 12341234,2,Hangup