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

akw

Neuer User
Mitglied seit
17 Dez 2004
Beiträge
84
Punkte für Reaktionen
0
Punkte
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.
 
@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 :)
 
jui schrieb:
Interessant wäre mal Deine Konfiguration (Betriebssystem, Asterisk/Bristuff-Version
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
 
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:[email protected] 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
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.