Line-Select, CbC, ISDN/SIP, ... eine Beispiel-Konfiguration!

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
Dieser Thread sammelt beantwortet einige Fragen, die ich in anderen gestellt habe (ich ihn dort jeweils entsprechend verlinkt):

Meine Ziel war es Sip-Telefone (11 und 22) und zwei ISDN-Telefone (11111 & 22222) an einen * anzuschliesen. Diese Einschränkung ist nur für diese Beispiel gemacht. In Wirklichkeit ist es egal. Die ISDN-Telefone hängen an einer NT-HFC-Karte und der * selbst verfügt den diversen benutzerspezifischen Sip-Provider-Accounts auch über eine weitere HFC-Karte (TE-Modus), die mit dem Telekom NTBA verbunden ist.

Wie diese konfiguriert sein sollten steht
http://www.ip-phone-forum.de/forum/viewtopic.php?t=3023
und
http://www.ip-phone-forum.de/forum/viewtopic.php?t=3235

Die extensions.conf erstmal komplett:
Code:
[general]

static=yes
writeprotect=no

[globals]

VOIPMSN=Zap/g1
TCOM=Zap/g2

[default]

include => sip2out

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;users ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[macro-user11111]

exten => s,1,SetVar(MYNAME=MSN11111)
exten => s,2,SetVar(MYMSN=11111)
exten => s,3,SetVar(MYSIPGROUP=SIP/11)
exten => s,4,SetVar(MYCALLMACRO=callwithpstn)
exten => s,5,SetVar(MYNUMSIP=1)
exten => s,6,SetVar(MYSIP1=sipgate11)
exten => s,6,SetVar(MYSIP1=unisaarland-intl)

[macro-user22222]

exten => s,1,SetVar(MYNAME=MSN22222)
exten => s,2,SetVar(MYMSN=22222)
exten => s,3,SetVar(MYSIPGROUP=SIP/22)
exten => s,4,SetVar(MYCALLMACRO=callwithpstn)
exten => s,5,SetVar(MYNUMSIP=3)
exten => s,6,SetVar(MYSIP1=sipgate22)
exten => s,7,SetVar(MYSIP2=unisaarland-intl)
exten => s,8,SetVar(MYSIP3=webde22)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; external ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; outgoing calls

[macro-callwithpstn]
; ARG1 = calleridnum
; ARG2 = calleridname

exten => s,1,SetCIDNum(${ARG1})
exten => s,2,SetCIDName(${ARG2})
exten => s,3,Dial(${TCOM}/${CBC}${EWL},60,Ttr)
exten => s,104,GotoIf($[${DIALSTATUS} = CONGESTION]?109:110)
exten => s,105,Dial(${TCOM}/${EWL},60,Ttr)
exten => s,106,Playtones(busy);
exten => s,107,Busy

[macro-callwithsip]
; 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,Ttr)
exten => s,107,GotoIf($[${DIALSTATUS} = CONGESTION]?108:109) 
exten => s,108,Macro(callwithpstn,${ARG1},${ARG2})
exten => s,109,Playtones(busy);
exten => s,110,Busy

[macro-notallowed]

exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(ss-noservice)
exten => s,4,Hangup

[forbidden]

; 019x
exten => _019X.,1,Macro(notallowed)

; 0900
exten => _0900X.,1,Macro(notallowed)

; EMSAT
exten => _0088X.,1,Macro(notallowed)

[emergency]

; re-rewrite emergency call numbers

exten => _069110,1,SetVar(EWL=110)
exten => _069110,2,Macro(callwithpstn,${MYMSN},${MYNAME})

exten => _069112,1,SetVar(EWL=112)
exten => _069112,2,Macro(callwithpstn,${MYMSN},${MYNAME})

exten => _06919222,1,SetVar(EWL=19222)
exten => _06919222,2,Macro(callwithpstn,${MYMSN},${MYNAME})

[preselection]

; dial the following prefixes with a defined method

; university of saarland
exten => _0681302X.,1,Macro(callwithsip,${MYMSN},${MYNAME},eric-unisaarland-intl)

; freecall

exten => _0800X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})

; user-defined call-by-call

exten => _010X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})

; automatic call-by-call

[macro-cbc]

exten => s,1,SetVar(CBC=${ARG1})
exten => s,2,Macro(${CALLMACRO2USE},${MYMSN},${MYNAME},${SIP2USE})
exten => s,3,Hangup

[cbc-01071-international]

exten => _00ZX.,1,Macro(cbc,01071)

[cbc-01071-cellphones]

exten => _016X.,1,Macro(cbc,01071)
exten => _017X.,1,Macro(cbc,01071)

[cbc-01071-longdistance]

exten => _0ZX.,1,Macro(cbc,01071)

[cbc-01019-local]

exten => _069X.,1,Macro(cbc,01019)

[cbc-xxl]

exten => _0ZX.,1,Macro(cbc,01033)

[nocbc]

exten => _X.,1,Macro(cbc)

[cbc]

;exten => _069X.,1,Macro(cbc)
include => cbc-01019-local|*|mon-sat|*|*

include => cbc-01071-international

include => cbc-01071-cellphones

include => cbc-01071-longdistance|*|mon-sat|*|*

include => cbc-xxl|*|sun|*|*

include => nocbc;

[standard]

exten => h,1,NoOp

exten => t,1,Playtones(busy)
exten => t,2,Busy

[number-preselection]

include => emergency

include => forbidden

include => preselection

include => cbc 

include => standard

[line-preselection]

include => emergency

include => forbidden

include => cbc

include => standard

[macro-numbers]
; ARG1 number to rewrite
; sets
; EWL (exten with local)
; INTL (international 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=+49${ARG1:1})
exten => s,8,Goto(11)
exten => s,9,SetVar(EWL=069${ARG1})
exten => s,10,SetVar(INTL=+4969${ARG1})
exten => s,11,NoOp

[macro-invalidline]

exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(privacy-incorrect)
exten => s,4,Hangup

[callout]

; use pstn line (no sip provider needed)

exten => _1*X.,1,SetVar(CALLMACRO2USE=callwithpstn)
exten => _1*X.,2,Macro(numbers,${EXTEN:2})
exten => _1*X.,3,Goto(line-preselection,${EWL},1)

; use default sipline (MYSIP1)

; forbid CbX over sip
exten => _2*010X.,1,Macro(invalidline)

exten => _2*X.,1,SetVar(CALLMACRO2USE=callwithsip)
exten => _2*X.,2,SetVar(SIP2USE=${MYSIP1})
exten => _2*X.,3,Macro(numbers,${EXTEN:2})
exten => _2*X.,4,Goto(line-preselection,${EWL},1)

; use special sipline (MYSIPx)

;forbid CbC over sip
exten => _2Z*010X.,1,Macro(invalidline)

exten => _2Z*X.,1,SetVar(CALLMACRO2USE=callwithsip)
exten => _2Z*X.,2,GotoIf($[${EXTEN:1:1} <= ${MYNUMSIP}]?3:7)
exten => _2Z*X.,3,SetVar(SIP2USE=${MYSIP${EXTEN:1:1}})
exten => _2Z*X.,4,Macro(numbers,${EXTEN:3})
exten => _2Z*X.,5,Goto(line-preselection,${EWL},1)
exten => _2Z*X.,6,Goto(8)
exten => _2Z*X.,7,Macro(invalidline)
exten => _2Z*X.,8,NoOp

; choose best service by number (fallback is MYCALLMACRO)

exten => _XXX.,1,SetVar(CALLMACRO2USE=${MYCALLMACRO})
exten => _XXX.,2,SetVar(SIP2USE=${MYSIP1})
exten => _XXX.,3,Macro(numbers,${EXTEN})
exten => _XXX.,4,Goto(number-preselection,${EWL},1)

include => sipphones

; if the number does not start with three digits -> invalid
exten => i,1,Macro(invalidline)

[isdn2out]

exten => s,1,Wait(0.1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)
exten => s,4,Macro(user${PRI_NETWORK_CID})

exten => _X.,1,Wait(0.1)
exten => _X.,2,DigitTimeout(2)
exten => _X.,3,SetLanguage(de)
exten => _X.,4,Macro(user${PRI_NETWORK_CID})
exten => _X.,5,Goto(callout,${EXTEN},1)

[sip2out]

exten => _0X./11,1,Macro(user11111)
exten => _0X./11,2,Goto(callout,${EXTEN:1},1)

exten => _0X./22,1,Macro(user22222)
exten => _0X./22,2,Goto(callout,${EXTEN:1},1)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; in-coming calls (isdn)

[macro-call-tk]

exten => s,1,Wait(0.1)
exten => s,2,Macro(user${MACRO_EXTEN})
exten => s,3,SetCIDNum(${CALLERIDNUM})
exten => s,4,Dial(${VOIPMSN}/${MYMSN},60,Ttr)
exten => s,105,Busy

[macro-call-sip]

exten => s,1,Wait(0.1)
exten => s,2,Macro(user${MACRO_EXTEN})
exten => s,3,SetCIDNum(0${CALLERIDNUM})
exten => s,4,Dial(${MYSIPGROUP},60,Ttr)
exten => s,105,Busy


[tcom-in]

exten => 11111,1,Macro(call-tk)

exten => 22222,1,Macro(call-sip)

exten => i,1,Congestion

exten => h,1,NoOp

exten => t,1,Busy

[macro-sip]

exten => s,1,Dial(SIP/${MACRO_EXTEN},60,Ttr)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s,3,Hangup

exten => s-CANCEL,1,Goto(s,3)
exten => s-ANSWER,1,NoOp
exten => s-NOANSWER,1,Goto(s,3)
exten => s-BUSY,1,Busy
exten => s-BUSY,2,Hangup
exten => s-CONGESTION,1,Congestion
exten => s-CONGESTION,2,Hangup
exten => s-CHANUNAVAIL,1,Playback(vm-theperson)
exten => s-CHANUNAVAIL,2,SayDigits(${MACRO_EXTEN})
exten => s-CHANUNAVAIL,3,Playback(vm-isunavail)
exten => s-CHANUNAVAIL,4,Hangup

[sipphones] ; or other ínternal contexts which should be call-able

exten => 24,1,Macro(sip)
exten => 24,2,Hangup

exten => 32,1,Macro(sip)
exten => 32,2,Hangup

exten => h,1,Hangup


Jetzt die einzelnen Teile:

Code:
[general]

static=yes
writeprotect=no

[globals]

VOIPMSN=Zap/g1
TCOM=Zap/g2

[default]

include => sip2out
Das ist alles klar. VOIPMSN ist die NT-Karte für die Isdn-Telefone/TK, TCOM ist die TE-Karte zum NTBA. Sip2out wird später verwendet um ein "Amtsgespräch" von einem Sip-Telefon aus zu führen.

Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;users ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[macro-user11111]

exten => s,1,SetVar(MYNAME=MSN11111)
exten => s,2,SetVar(MYMSN=11111)
exten => s,3,SetVar(MYSIPGROUP=SIP/11)
exten => s,4,SetVar(MYCALLMACRO=callwithpstn)
exten => s,5,SetVar(MYNUMSIP=1)
exten => s,6,SetVar(MYSIP1=sipgate11)
exten => s,6,SetVar(MYSIP1=unisaarland-intl)

[macro-user22222]

exten => s,1,SetVar(MYNAME=MSN22222)
exten => s,2,SetVar(MYMSN=22222)
exten => s,3,SetVar(MYSIPGROUP=SIP/22)
exten => s,4,SetVar(MYCALLMACRO=callwithpstn)
exten => s,5,SetVar(MYNUMSIP=3)
exten => s,6,SetVar(MYSIP1=sipgate22)
exten => s,7,SetVar(MYSIP2=unisaarland-intl)
exten => s,8,SetVar(MYSIP3=webde22)

Als nächsten definiere ich Benuzter-Macro. Diese setzen diverse Variablen: Eigener Name, eigene MSN, Sip-User falls ein anruf reinkommt, bevorzugtes call-Macro (VOIP oder PSTN) und diverse Sip-Accounts. Die Endung -intl wird später noch wichtig,

Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; outgoing calls

[macro-callwithpstn]
; ARG1 = calleridnum
; ARG2 = calleridname

exten => s,1,SetCIDNum(${ARG1})
exten => s,2,SetCIDName(${ARG2})
exten => s,3,Dial(${TCOM}/${CBC}${EWL},60,Ttr)
exten => s,104,GotoIf($[${DIALSTATUS} = CONGESTION]?109:110)
exten => s,105,Dial(${TCOM}/${EWL},60,Ttr)
exten => s,106,Playtones(busy);
exten => s,107,Busy

[macro-callwithsip]
; 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,Ttr)
exten => s,107,GotoIf($[${DIALSTATUS} = CONGESTION]?108:109) 
exten => s,108,Macro(callwithpstn,${ARG1},${ARG2})
exten => s,109,Playtones(busy);
exten => s,110,Busy

Hier wurden die zwei Call-Macros definiert. Zuerst wird festgelegt mit welcher Absender-Kennung. Dann ausgewählt welche Nummer (evtl. ist ein CbC-Anbieter eingetragen, oder aber die Nummer muss im internationalen Format vorliegen? Nämlich genau dann, wenn ein Sip-Account auf -intl endet.
Diverse Variablen werden erst später gesetzt. Falls ein CbC oder Sip-Anbieter congested ist, wird auf PSTN zurückgefallen.

Jetzt wird es etwas durcheinander, aber nur wer nicht bis zum Schluss liest:
Code:
[macro-notallowed]

exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(ss-noservice)
exten => s,4,Hangup

[forbidden]

; 019x
exten => _019X.,1,Macro(notallowed)

; 0900
exten => _0900X.,1,Macro(notallowed)

; EMSAT
exten => _0088X.,1,Macro(notallowed)

[emergency]

; re-rewrite emergency call numbers

exten => _069110,1,SetVar(EWL=110)
exten => _069110,2,Macro(callwithpstn,${MYMSN},${MYNAME})

exten => _069112,1,SetVar(EWL=112)
exten => _069112,2,Macro(callwithpstn,${MYMSN},${MYNAME})

exten => _06919222,1,SetVar(EWL=19222)
exten => _06919222,2,Macro(callwithpstn,${MYMSN},${MYNAME})

[preselection]

; dial the following prefixes with a defined method

; university of saarland
exten => _0681302X.,1,Macro(callwithsip,${MYMSN},${MYNAME},eric-unisaarland-intl)

; freecall

exten => _0800X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})

; user-defined call-by-call

exten => _010X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})

; automatic call-by-call

Wenn später (weiter unten) ein Nummer gewählt wurde, wird jetzt getestet, ob diese verboten ist (forbidden). Dann wird ein entsprechende Macro gestartet. Oder aber, ob es ein Notruf ist (110, 112, 19222). Dann geht das Gespräch auf jeden Fall über die Telekom. Oder ob diese Wahlregel über VOIP oder ISDN geroutet werden soll. Zum Beispiel werden alle Anrufe an die Uni Saarland über einen Uni-Saarland Sipaccount geroutet, oder alle 0800er Nummern immer über ISDN. Achso: Wenn jemand selbst einen Call-by-Call Anbieter mitwählt (010x), dann geht das Gespräch auch über ISDN raus, da die Sip-Provider mit 010x nichts anfangen können.

Achso: Im Grunde hat die Fritzboxfon auch dieses Verhalten. Aber hier kann man noch so witzige Sachen machen, wir nummern umschreiben, zum Beispiel weil ein Sip-Provider keine ENUM-Auflösung macht, man selbst aber einen entsprechende SipgateNummer des Anzurufenden kennt.

Jetzt wird es witzig: Call-By-Call
Für alle Nummern wird vorläufig ein bester CbC-Provider bestimmt - auch wenn das Gespräche später über VoIP geht. Aber sicher ist sicher. Die Liste hier ist sehr einfach. Die beachten momentan den Sonntags-XXL Tarif der Telekom und ansonsten diverse Dumping-Preise, die es momentan gibt (oder auch schon nicht mehr). Unterschieden wird nach local (bei mir jetzt als Beispiel 069), international (00x), long-distance (alles was nicht 0xxx, aber nicht 069) und Handies.
Code:
[macro-cbc]

exten => s,1,SetVar(CBC=${ARG1})
exten => s,2,Macro(${CALLMACRO2USE},${MYMSN},${MYNAME},${SIP2USE})
exten => s,3,Hangup

[cbc-01071-international]

exten => _00ZX.,1,Macro(cbc,01071)

[cbc-01071-cellphones]

exten => _016X.,1,Macro(cbc,01071)
exten => _017X.,1,Macro(cbc,01071)

[cbc-01071-longdistance]

exten => _0ZX.,1,Macro(cbc,01071)

[cbc-01019-local]

exten => _069X.,1,Macro(cbc,01019)

[cbc-xxl]

exten => _0ZX.,1,Macro(cbc,01033)

[nocbc]

exten => _X.,1,Macro(cbc)

[cbc]

;exten => _069X.,1,Macro(cbc)
include => cbc-01019-local|*|mon-sat|*|*

include => cbc-01071-international

include => cbc-01071-cellphones

include => cbc-01071-longdistance|*|mon-sat|*|*

include => cbc-xxl|*|sun|*|*

include => nocbc;
Wichtig ist die Reihenfolge. Sonst läuft alles in nocbc. Achtung!

So jetzt kommen wir langsam zum Kern:
Code:
[standard]

exten => h,1,NoOp

exten => t,1,Playtones(busy)
exten => t,2,Busy

[number-preselection]

include => emergency

include => forbidden

include => preselection

include => cbc 

include => standard

[line-preselection]

include => emergency

include => forbidden

include => cbc

include => standard

Der Number-Preselection Kontext unterscheidet sich vom line-preselection nur um eine Zeile. Nämlich dem include von oben beschriebenen preselection Kontext. Wenn man nämlich gleich (einen Moment noch) bewusst eine bestimmt Leitung wählt (ISDN oder SIPx) dann braucht man kein preselection.

Noch zwei Makros:
Code:
[macro-numbers]
; ARG1 number to rewrite
; sets
; EWL (exten with local)
; INTL (international 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=+49${ARG1:1})
exten => s,8,Goto(11)
exten => s,9,SetVar(EWL=069${ARG1})
exten => s,10,SetVar(INTL=+4969${ARG1})
exten => s,11,NoOp

[macro-invalidline]

exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(privacy-incorrect)
exten => s,4,Hangup

Letzteres sagt dem Benutzer nur, dass er wohl eine falsche Leitung gewählt hat. Das erste schreibt die gewählte Nummer in zwei Formate: International mit +xx am Anfang, und eine wie man es am z.B. Handy wählen würde (ausser man wählt dort intl). Die Variablen heisen INTL und EWL. Wie ihr seht ,wird auch eine Ortzvorwahl automatisch ergänzt.

Was passiert wenn jetzt * eine "Wahl" reinbekommt:
Code:
[callout]

; use pstn line (no sip provider needed)

exten => _1*X.,1,SetVar(CALLMACRO2USE=callwithpstn)
exten => _1*X.,2,Macro(numbers,${EXTEN:2})
exten => _1*X.,3,Goto(line-preselection,${EWL},1)

; use default sipline (MYSIP1)

; forbid CbC over sip
exten => _2*010X.,1,Macro(invalidline)

exten => _2*X.,1,SetVar(CALLMACRO2USE=callwithsip)
exten => _2*X.,2,SetVar(SIP2USE=${MYSIP1})
exten => _2*X.,3,Macro(numbers,${EXTEN:2})
exten => _2*X.,4,Goto(line-preselection,${EWL},1)

; use special sipline (MYSIPx)

; forbid CbC over sip
exten => _2Z*010X.,1,Macro(invalidline)

exten => _2Z*X.,1,SetVar(CALLMACRO2USE=callwithsip)
exten => _2Z*X.,2,GotoIf($[${EXTEN:1:1} <= ${MYNUMSIP}]?3:7)
exten => _2Z*X.,3,SetVar(SIP2USE=${MYSIP${EXTEN:1:1}})
exten => _2Z*X.,4,Macro(numbers,${EXTEN:3})
exten => _2Z*X.,5,Goto(line-preselection,${EWL},1)
exten => _2Z*X.,6,Goto(8)
exten => _2Z*X.,7,Macro(invalidline)
exten => _2Z*X.,8,NoOp

; choose best service by number (fallback is MYCALLMACRO)

exten => _XXX.,1,SetVar(CALLMACRO2USE=${MYCALLMACRO})
exten => _XXX.,2,SetVar(SIP2USE=${MYSIP1})
exten => _XXX.,3,Macro(numbers,${EXTEN})
exten => _XXX.,4,Goto(number-preselection,${EWL},1)

; if the number does not start with three digits -> invalid
exten => i,1,Macro(invalidline)

Ganz einfach. Wenn die Nummer mit 1* beginnt, will ich über ISDN raustelefonieren. Wenn sie mit 2* beginnt soll der Anruf über den Default (1) Sipprovider gehen (und wie man mit etwas Code-anschauen erkennen kann ist das Benutzerabhängig, d.h. für jede MSN kann ich entsprechende Accounts einrichten). Mit 2Z* kann man einen bestimmten Sip-Provider wählen, der aber auch exitsieren muss.

Ansonsten geht das ganze nach Number-Preselection und die kümmert sich um eine nette und vor allem automatische Anwahl.


Fehlt nur noch eins:
Wie kommt man in den den callout Kontext? So:
Code:
[isdn2out]

exten => s,1,Wait(0.1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)
exten => s,4,Macro(user${PRI_NETWORK_CID})

exten => _X.,1,Wait(0.1)
exten => _X.,2,DigitTimeout(2)
exten => _X.,3,SetLanguage(de)
exten => _X.,4,Macro(user${PRI_NETWORK_CID})
exten => _X.,5,Goto(callout,${EXTEN},1)

[sip2out]

exten => _X./11,1,Macro(user11111)
exten => _X./11,2,Goto(callout,${EXTEN:1},1)

exten => _X./22,1,Macro(user22222)
exten => _X./22,2,Goto(callout,${EXTEN:1},1)

Je nachdem ob man eine TK oder direkt ein Telefon dranhängt, will man im sip2out auch zunächst eine 0 wählen. Die kann man vor X. einfügen.

Und wer interne Sip-phones verwenden will ... muss aber in sip.conf konfiguriert sein. Man kann natuerlich auch andere Kontexte einbinden. Spielt mal rum...
Code:
[macro-sip]

exten => s,1,Dial(SIP/${MACRO_EXTEN},60,Ttr)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s,3,Hangup

exten => s-CANCEL,1,Goto(s,3)
exten => s-ANSWER,1,NoOp
exten => s-NOANSWER,1,Goto(s,3)
exten => s-BUSY,1,Busy
exten => s-BUSY,2,Hangup
exten => s-CONGESTION,1,Congestion
exten => s-CONGESTION,2,Hangup
exten => s-CHANUNAVAIL,1,Playback(vm-theperson)
exten => s-CHANUNAVAIL,2,SayDigits(${MACRO_EXTEN})
exten => s-CHANUNAVAIL,3,Playback(vm-isunavail)
exten => s-CHANUNAVAIL,4,Hangup

[sipphones] ; or other ínternal contexts which should be call-able

exten => 24,1,Macro(sip)
exten => 24,2,Hangup

exten => 32,1,Macro(sip)
exten => 32,2,Hangup

exten => h,1,Hangup

allesOK!

p.s. Tipp und Rechtschreibfehler, verbessere ich aufgrund der Länge des Texte nicht!
 
:wow:

Prima, vielen Dank für Deine Arbeit!

2 Bitten:

- ändere doch die Betreffzeile ein wenig, damit daraus klarer wird, worum es hier geht
- vielleicht auch was für unsere "VoIP-FAQ? :)
 
Jo, habe es geändert!
 
@allesOK: Kannst Du ein Patchfile für die CALLINGNUM erstellen oder den Kontext anzeigen. In welche Zeile ich das nun genau einfügen muss (RC4) weiss ich irgendwie nämlich nicht...

Reicht die RC4 eigentlich für die Probleme aus dem Thread "NT-Modus ohne Wählton"?

Und wenn nicht: Kann ich einfach mit
#wget [bristuff-Aktuell]
#tar xzfv bristuff-0.1.0...
#cd bri...
#./install.sh
"drüberinstallieren" ohne das die Confs kaputtgehen? (Nicht dass ich das nicht bestimmt irgendwo rauskriegen könnte, ein "ja" oder "nein: Sichere alles und spiel es zurück" von Euch ist schneller als das Suchen meinerseits).
 
Ja Patch hängt bei (für 0.1.0rc4a von bristuff)

Die Konfs gehen nicht kaputt solange du nur make und make install im asterisk Verzeichnis aufrufst.
 

Anhänge

  • callingnum.patch.txt
    227 Bytes · Aufrufe: 47
und in welche zeile muss der patch jetzt rein?

edit:

ok habs gefunden :

Habe in channels/chan_zap.c folgende Zeile hinter Zeile 7612 (bristuff-0.1.0.RC2k) eingefügt:
pbx_builtin_setvar_helper(c, "CALLINGNUM", e->ring.callingnum);
 
Da benutzt du das nette Linux-Programm patch, welches das diff-file an der richtigen Stelle reinflickt.
 
Kleine Problemchen...

Hallo,

vorweg VIELEN DANK an 'allesOK'!! - Ich verwende Deine extensions.conf weitgehend. Sie ist wirklich sehr gut ausgearbeitet!!

An der extensions.conf von 'allesOK' habe ich ein paar Änderungen vorgenommen:

1) Ich benutze eine CAPI und eine HFC Karte (nicht zwei HFC Karten)
2) Ich hab ein neues Macro 'callinginhouse' ingefügt, was es mir erlaubt im Haus kostenlos zu telefonieren.

Ausserdem hab ich noch die CbC-Sektion rausgelöscht (Sorry - SUPER Idee, nur leider bin ich bei Arcor....), etc.


Mein Problem ist nun folgendes: Irgendwie scheinen die ISDN-Telefone, die an der HFC Karte hängen nicht immer alles mitzubekommen:

1) Bekomme ich einen Anruf, und nehme diesen an einem Telefon entgegen, so klingeln die anderen Telefone weiter!? - Das geht solange, bis die Telefone nochmals angerufen werden und aufgelegt wird.
2) Rufe ich mit einem ISDN-Telefon zum Beispiel ein Handy an und werde weggedrückt, so tutet es im Höhrer weiter, als würde es immer noch klingeln.
3) Gleiches passiert, wenn die Nummer noch gar nicht fertig gewählt wurde. Ich wähle also 12345 und warte und schon klingelt es, obwohl ich eigentlich noch weiter hätte wählen müsen.


Ich hoffe, ich könnte mir mit meinen Problemen weiterhelfen!!??

Code:
[general]
static=yes
writeprotect=no

[globals]
VOIPMSN=Zap/g1
TCOM=CAPI

[default]
include => isdn2out

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; users ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; => FAX DEVICE <=
[macro-user12345638]
exten => s,1,SetVar(MYNAME=MSN12345638)
exten => s,2,SetVar(MYMSN=12345638)
exten => s,3,SetVar(MYCALLMACRO=callwithpstn)
exten => s,4,SetVar(MYNUMSIP=1)
exten => s,5,SetVar(MYSIP1=web)

; => MAIN LINE <=
[macro-user12345637]
exten => s,1,SetVar(MYNAME=MSN12345637)
exten => s,2,SetVar(MYMSN=12345637)
exten => s,3,SetVar(MYCALLMACRO=callwithpstn)
exten => s,4,SetVar(MYNUMSIP=1)
exten => s,5,SetVar(MYSIP1=web)

; => MAX LINE <=
[macro-user12345415]
exten => s,1,SetVar(MYNAME=MSN12345415)
exten => s,2,SetVar(MYMSN=12345415)
exten => s,3,SetVar(MYCALLMACRO=callwithpstn)
exten => s,4,SetVar(MYNUMSIP=1)
exten => s,5,SetVar(MYSIP1=web)

; => SUPPORT LINE <=
[macro-user12345417]
exten => s,1,SetVar(MYNAME=MSN12345417)
exten => s,2,SetVar(MYMSN=12345417)
exten => s,3,SetVar(MYCALLMACRO=callwithpstn)
exten => s,4,SetVar(MYNUMSIP=1)
exten => s,5,SetVar(MYSIP1=web)

; => WEB.DE <=
[macro-userwebdeaccount]
exten => s,1,SetVar(MYNAME=MSN12345415)
exten => s,2,SetVar(MYMSN=12345415)
exten => s,3,SetVar(MYCALLMACRO=callwithsip)
exten => s,4,SetVar(MYNUMSIP=1)
exten => s,5,SetVar(MYSIP1=web)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; external ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; outgoing calls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[macro-callinhouse]
; ARG1 = calleridnum
; ARG2 = calleridname
;exten => s,2,Macro(user${EWL})
exten => s,1,SetCIDNum(${MYMSN})
exten => s,2,SetCIDName(${MYNAME})
exten => s,3,Dial(Zap/1/${EWL},60,tT)
exten => s,4,Busy
exten => s,5,Hangup

[macro-callwithpstn]
; ARG1 = calleridnum
; ARG2 = calleridname
exten => s,1,SetCIDNum(${ARG1})
exten => s,2,SetCIDName(${ARG2})
exten => s,3,Dial(${TCOM}/${MYMSN}:b${EWL},60,tr)
exten => s,4,Congestion
exten => s,5,Busy
exten => s,6,Hangup

[macro-callwithsip]
; 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(callwithpstn,${ARG1},${ARG2})
exten => s,109,Playtones(busy);
exten => s,110,Busy

[macro-notallowed]
exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(ss-noservice)
exten => s,4,Hangup


[forbidden]
; 019x
exten => _019X.,1,Macro(notallowed)

; 0900
exten => _0900X.,1,Macro(notallowed)

; EMSAT
exten => _0088X.,1,Macro(notallowed)

[emergency]
; re-rewrite emergency call numbers
exten => _089110,1,SetVar(EWL=110)
exten => _089110,2,Macro(callwithpstn,${MYMSN},${MYNAME})

exten => _089112,1,SetVar(EWL=112)
exten => _089112,2,Macro(callwithpstn,${MYMSN},${MYNAME})

exten => _08919222,1,SetVar(EWL=19222)
exten => _08919222,2,Macro(callwithpstn,${MYMSN},${MYNAME})


[preselection-xxl}
exten => _X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})


[preselection]
; dial the following prefixes with a defined method

; university of saarland
;exten => _0681302X.,1,Macro(callwithsip,${MYMSN},${MYNAME},eric-unisaarland-intl)

; house calls
exten => _08912345637,1,Macro(callinhouse,${MYMSN},${MYNAME});
exten => _08912345415,1,Macro(callinhouse,${MYMSN},${MYNAME});
exten => _08912345417,1,Macro(callinhouse,${MYMSN},${MYNAME});

; web.de
exten => _02222948X.,1,Macro(callwithsip,${MYMSN},${MYNAME},web)

; freecall
exten => _0800X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})

; user-defined call-by-call
;exten => _089X.,1,Macro(callwithpstn,${MYMSN},${MYNAME})


exten => s,1,SetVar(CBC=${ARG1})
exten => s,2,Macro(${CALLMACRO2USE},${MYMSN},${MYNAME},${SIP2USE})
exten => s,3,Hangup

[macro-cbc]
exten => s,1,SetVar(CBC=${ARG1})
exten => s,2,Macro(${CALLMACRO2USE},${MYMSN},${MYNAME},${SIP2USE})
exten => s,3,Hangup

[cbc]
include => nocbc

[nocbc]
exten => _X.,1,Macro(cbc)

[standard]
exten => h,1,NoOp
exten => t,1,Playtones(busy)
exten => t,2,Busy

[number-preselection]
include => emergency
include => forbidden
include => preselection-xxl|*|sun|*|*
include => preselection
include => cbc
include => standard

[line-preselection]
include => emergency
include => forbidden
include => cbc
include => standard

[macro-numbers]
; ARG1 number to rewrite
; sets
; EWL (exten with local)
; INTL (international 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=+49${ARG1:1})
exten => s,8,Goto(11)
exten => s,9,SetVar(EWL=089${ARG1})
exten => s,10,SetVar(INTL=+4989${ARG1})
exten => s,11,NoOp

[macro-invalidline]
exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(privacy-incorrect)
exten => s,4,Hangup

[callout]
; use pstn line (no sip provider needed)
exten => _1*.,1,SetVar(CALLMACRO2USE=callwithpstn)
exten => _1*.,2,Macro(numbers,${EXTEN:2})
exten => _1*.,3,Goto(line-preselection,${EWL},1)

; use default sipline (MYSIP1)
exten => _8*X.,1,SetVar(CALLMACRO2USE=callwithsip)
exten => _8*X.,2,SetVar(SIP2USE=${MYSIP1})
exten => _8*X.,3,Macro(numbers,${EXTEN:2})
exten => _8*X.,4,Goto(line-preselection,${EWL},1)

; use special sipline (MYSIPx)
exten => _9Z*X.,1,SetVar(CALLMACRO2USE=callwithsip)
exten => _9Z*X.,2,GotoIf($[${EXTEN:1:1} <= ${MYNUMSIP}]?3:7)
exten => _9Z*X.,3,SetVar(SIP2USE=${MYSIP${EXTEN:1:1}})
exten => _9Z*X.,4,Macro(numbers,${EXTEN:3})
exten => _9Z*X.,5,Goto(line-preselection,${EWL},1)
exten => _9Z*X.,6,Goto(8)
exten => _9Z*X.,7,Macro(invalidline)
exten => _9Z*X.,8,NoOp

; choose best service by number (fallback is MYCALLMACRO)
exten => _XXX.,1,SetVar(CALLMACRO2USE=${MYCALLMACRO})
exten => _XXX.,2,SetVar(SIP2USE=${MYSIP1})
exten => _XXX.,3,Macro(numbers,${EXTEN})
exten => _XXX.,4,Goto(number-preselection,${EWL},1)

;include => sipphones

; if the number does not start with three digits -> invalid
exten => i,1,Macro(invalidline)

[isdn2out]
exten => s,1,Wait(0.1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)
exten => s,4,Macro(user${PRI_NETWORK_CID})

exten => _X.,1,Wait(0.1)
exten => _X.,2,DigitTimeout(2)
exten => _X.,3,SetLanguage(de)
exten => _X.,4,Macro(user${PRI_NETWORK_CID}) 
exten => _X.,5,Goto(callout,${EXTEN},1)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; in-coming calls (isdn) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[macro-call-sip]
exten => s,1,Wait(0.1)
exten => s,2,Macro(user${MACRO_EXTEN})
exten => s,3,SetCIDNum(${CALLERIDNUM:1})
exten => s,4,Dial(Zap/1/${MYMSN},60,tr)
exten => s,5,Congestion
exten => s,6,Busy
exten => s,7,Hangup

[tcom-in]
exten => 12345637,1,Macro(call-sip)
exten => 12345415,1,Macro(call-sip)
exten => 12345417,1,Macro(call-sip)

exten => i,1,Congestion
exten => h,1,NoOp
exten => t,1,Busy

[sip-in]
exten => webdeaccount,1,Macro(call-sip)


Vielen Dank für eure Hilfe!!

Mit freundlichen Grüßen,
Max
 
Danke für's Lob! Sowas freut immer ;-)

Habe mittlerweile bei mir das 'r' in den Dial-Parameter weg gelassen. Damit bekomme ich wirklich das, was das Amt sagt. Vielleicht hilft das bei den Problemen 1-3 weiter?
 
bei voip-info.org (such mal nach "Dial cmd")
 
Hallo allesOK und ihr anderen,

also auch erstmal von mir ein Super fettes Dankeschön.
Habe nach einigen anfänglichen Schwierigkeiten was ähnliches gebaut, allerdings aus Unwissenheit sehr statisch und ohne Makros.

Die Makro-Lösung ist auf jeden Fall 1000 mal besser und skalierbarer. Da ich mit den Makros so meine Probleme habe, wollte ich fragen ob Du dieser Anleitung nicht noch die komplette zapata.conf, sowie die sip.conf hinzufügen kannst, da es sehr unübersichtlich ist dies über die anderen verlinkten Threads herauszubekommen und auch in den einzelnen Beispielen mit anderen Kontexten gearbeitet wurde.

Das würde mir auf jeden Fall sehr viel weiterhelfen und bestimmt auch man anderem. Ich muss zugegben, dass man selbst nach einem Monat Beschäftigungstherapie mit Asterisk längst nicht alle Möglichkeiten zu erschliessen sind.

Nochmals besten Dank,

alf.
 
Werde ich in Kürze nachholen, ok?
 
Hi allesOK,

hört sich klasse an, kann es kaum erwarten :)
Kennt Ihr das, man liegt im Bett muss schlafen, aber es geht einem immer wieder ein und das selbe durch den Kopf - der Dialplan. Dann rennt man schlaftrunken zum Rechner und danach frustriert zurück ins Bett, wenn es nicht geklappt hat wie man es wollte. :wink:

So geht es mir seit geraumer Zeit, und im Büro wird man dann gefragt ob man krank sei. Ja kann man nur erwiedern, ich hab "Asterisk".

Man kann den Frust förmlich lesen. In diesem Sinne, ohne aufdringlich zu wirken, je eher desto besser, sonst wird es noch ein zusätzlich ein Beziehungsdrama.

Alf

P.s. Warum hassen 95% aller Frauen Computer ?
P.P.s. Suche Weibchen zugehörig zur 5 % Randgruppe zwecks Zukunftsplanung... :lol:
 
zapata.conf findet sich hier


Die sip.conf hier

Code:
[general]
language=de
context=voip-in                 ; Context to be used in extensions
port=5060                       ; Port to bind to
bindaddr=0.0.0.0                ; Address to bind SIP channel to

;srvlookup=yes                  ; Enable DNS SRV lookups on outbound calls
;pedantic=yes                   ; Enable slow, pedantic checking for Pingtel
;tos=lowdelay                   ; IP QoS parameter, either keyword or value
;maxexpirey=3600                ; Max length of incoming registration we allow
;defaultexpirey=120             ; Dflt length of incoming/outoing registration
;defaultexpirey=160
;notifymimetype=text/plain      ; Allow overriding of mime type in NOTIFY
;videosupport=yes               ; Turn on support for SIP video

disallow=all                    ; Disallow all codecs
allow=ulaw
allow=alaw
allow=gsm

localnet = 198.168.250.0/255.255.255.0
externip = mydomain.dyndns.org

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Accounts ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;sipgate
register => nnnnn:[email protected]/11111

register => nnnnn22:[email protected]/22222

;uni-saarland.de
register => nnnnnn:[email protected]/22222

[sipgate11]
type=friend
username=nnnnn
secret=pppppp
host=sipgate.de
fromuser=nnnnnn
fromdomain=sipgate.de
qualify=yes
nat=no
canreinvite=no
insecure=very

[sipgate22]
type=friend
username=nnnnn22
secret=pppppp11
host=sipgate.de
fromuser=nnnnn22
fromdomain=sipgate.de
qualify=yes
nat=no
canreinvite=no
insecure=very

; intl indicates to use the internation number format
[unisaarland-intl]
type=friend
username=nnnnnn
secret=pppppp
host=iptel.rz.uni-saarland.de
fromuser=nnnnnnn
fromdomain=stud.uni-saarland.de
qualify=yes
nat=no
canreinvite=no
insecure=very

; webde hab ich nicht mehr parat ist aber ähnlich
 
So, hallo allesOK!

also erstmal besten Dank, hat soweit auch geholfen. Allerdings scheint bei mir irgendein Problem im Zusammenhang mit der Karte im TE mode zu sein. Gebe ich meine Festnetz MSN in den Extensions ein, kann ich nach Annahme an jedem Telelfon, egal ob ISDN oder VoIP das Telefonat führen. Heisst für mich erstmal, dass Die TE Mode Karte auch alles macht, was sie machen soll.
Sobald ich es allerdings umgegehrt versuche, also über z.B. die Null raus, funktioniert das nicht. Das Telefon an der NT Mode Karte, schreibt dann nur Teilnehmer nicht erreichbar und das wars.

Und Asterisk ist Unable to open a channel of type ZAP. Kann man ja im Forum oft genug lesen.
Selbst wenn ich komplett die Configs von Dir nehme und an meine Begebenheiten anpasse - selbes Resultat. Raus geht nix.

Hmmmm irgendwelche Ideen ?

Ich benutze Asterisk 1.0.2 mit dem aktuellsten Bri-Stuff 0.2.0-rc2 unter Gentoo. Alles wunderbar ohne Fehler compiled... dmesg gibt auch aus, das beide Karten der Konfiguration nach richtig initialisiert sind.

Ansonsten werde ich auch mal weiter probieren, aber irgendwie ist das unlogisch, warum geht es rein und nicht raus ?

alf
 
Hast du mal "set verbose 5" auf dem CLI gemacht und geschaut, wo er genau hängen bleibt.

Achso: Es scheint noch einen Fehler zu geben bzgl CbC. Wenn da ein Anbieter nicht "anbieten" kann (sprich alle Leitungen besetzt sind) bleibt er auch (noch) bei mir hängen. Muss dann immer 01033 von Hand wählen. Daran arbeite ich noch ....
 
Ich werds nach der Arbeit mal ausprobieren und poste dann das Ergebnis.

Davon das die ISDN Karte im TE mode keine Hardware Macke hat, kann man auch ausgehen, da mit einer Ersatzkarte das Resultat genauso ist ... :(

alf.

(Bis jetzt stand es auf 4, vielleicht bringts die 5...)
 
Also die 5 wird den Fehler nicht beheben, aber dir vielleicht exakt zeigen, wo der * hängen bleibt.
 
:) War schon klar, dass das nur die Debug mesg. sind.. ..

Bin leider gerade erst rein, versuche mal ein paar Daten zu sammeln ...

alf.
 
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.