Ankommende ISDN Anrufe verwalten

cosh23

Neuer User
Mitglied seit
25 Mai 2005
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hardware: 3xHFC (TE NT NT)

Hallo, ich hab da ein kleines Problem. Das * läuft eigentlich eigentlich echt problemlos, nur externe und interne ISDN - Telefonie nicht. ist dass man eine MSN einem Zap - channel zuweisen kann, sodass ich ISDN anrufe entgegennehmen kann und auch korrekt via ISDN telefonieren / faxen kann.
Weiß da echt grad nich weiter, wäre für jede Anregung dankbar.

Hier meine configs:

zaptel.conf
Code:
loadzone=de
defaultzone=de

span=1,1,3,ccs,ami
bchan=1-2
dchan=3

span=2,1,3,ccs,ami
bchan=4-5
dchan=6

span=3,1,3,ccs,ami
bchan=7-8
dchan=9

zapata.conf:
Code:
[channels]
;an die ISDN Anlage (Karte mit TE - Modus)
switchtype = euroisdn
signalling = bri_cpe
pridialplan = local
prilocaldialplan = local
usecallerid = yes
overlapdial = no
immediate = no
group = 1
context = tcom
channel => 1-2
;==============================================

;an die interne Anlage (1. Karte im NT - Modus)
switchtype = euroisdn
signalling = bri_net_ptmp
pridialplan = local
prilocaldialplan = local
usecallerid = yes
overlapdial = no
immediate = no
group = 2
context = pbx
channel => 4-5
;==============================================

;an die interne Anlage (2. Karte im NT - Modus)
switchtype = euroisdn
signalling = bri_net_ptmp
pridialplan = local
prilocaldialplan = local
usecallerid = yes
overlapdial = no
immediate = no
group = 3
context = pbx
channel => 7-8

extensions.conf:
Code:
[general]
static=yes
writeprotect=no

[globals]
TCOM => ZAP/g1
HENNING => ZAP/g2/21
GUNNAR => ZAP/g3/31
MARTIN => ZAP/g3/32
ALLEZAP => ZAP/g2/21&ZAP/g3/31&ZAP/g3/32

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

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

; EINGEHENDE Anrufe und deren weiterleitung an alle internen zap oder sip telefone.
; Standart - mailbox 1 wird verwendet
[tcom]
exten => _.,1,Dial(${ALLEZAP},40)
exten => _.,2,VoiceMail(u1)
exten => _.,102,VoiceMail(b1)
exten => _.,103,Congestion

; Anrufe innerhalb der pbx und nach außen (via ISDN oder SIP --> LCR)
[pbx]
exten => s,1,Wait(1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)

; interne SIP telefone (hard oder soft) fangen mit 2 an wegen notrufnummern
exten => _2XX,1,SetCallerId(s${CALLERIDNUM})
exten => _2XX,2,Dial(SIP/${EXTEN},60,tT)
exten => _2XX,3,Wait(5)
exten => _2XX,4,Hangup

; SIP nach draussen
exten => _0.,1,SetCallerId(679308)
exten => _0.,2,Dial(SIP/${EXTEN}@sipgate,60,tT)
exten => _0.,3,Congestion
exten => _0.,103,Macro(outisbusy)

; SIP nach draussen (zu Ortsvorwahl z.B. 03677)
exten => _NXXX.,1,SetCallerId(679308)
exten => _NXXX.,2,Dial(SIP/03677${EXTEN}@sipgate,60,tT)
exten => _NXXX.,3,Congestion
exten => _NXXX.,103,Macro(outisbusy)

; Zap Gruppe 2
exten => _2X,1,Dial(Zap/g2/${EXTEN:},20,tT)
exten => _2X,2,VoiceMail(u${EXTEN:})
exten => _2X,102,VoiceMail(b${EXTEN:})
exten => _2X,103,Congestion

; Zap Gruppe 3
exten => _3X,1,Dial(Zap/g3/${EXTEN:},20,tT)
exten => _3X,2,VoiceMail(u${EXTEN:})
exten => _3X,102,VoiceMail(b${EXTEN:})
exten => _3X,103,Congestion

; Voicemail Abruf
exten => 199,1,VoicemailMain(s${CALLERIDNUM})
exten => 199,2,Hangup

; Konerenzraum mit meetme
exten => 100,1,MeetMe,4000

; Notfallrufnummern
exten => _11[02],1,Dial(Zap/g1/{EXTEN:},60)
exten => _11[02],2,Hangup

; Verbotene Rufnummern
exten => _019X.,1,Macro(notallowed)
exten => _0900X.,1,Macro(notallowed)
exten => _0088X.,1,Macro(notallowed)

; Falsche Eingabe
exten => i,1,Macro(invalidline)
exten => t,1,Macro(invalidline)

[voip-in]
include => pbx

;eingehende anrufe von sipgate
[sipphones]
exten => _.,1,Dial(${ALLEZAP}&SIP/203,60)
 
cosh23!

Kannst Du bitte Deine Frage umformulieren.
Ich habe nicht genau verstanden was gemeint ist.

Gruß
britzelfix
 
moin. wenn es darum geht, eine msn auf bestimmte anschlüsse zu verteilen, hab ich das so gemacht:

in den [globals]

TEL_IM => 123456 ;meine msn

im [pxb]
;Eingehend ueber ISDN
exten => ${TEL_IM},1,Dial(SIP/300&SIP/303&SIP/301&SIP/302,60)
exten => ${TEL_IM},2,Hangup

das beispiel signalisert einen eingehenden anruf auf msn 123456 auf mehreren sip telefonen.
kleiner nachtrag:
msn abgehend setzt man so.

exten => _0X.,1,SetCIDNum(123456)
 
hmm,

also ich vermute mal Du willst ankommende Anrufe
direkt zu bestimmten Zap-Channels routen. Ja?
Das geht mit auto-attendant oder über
Caller-Id geroutet.

Beispiele für ein auto-attendant gibt es hier im
Forum eine Menge, einfach mit der Suchfunktion suchen.

Mit auto-attendant nimmt * den Anfruf entgegen,
bietet dem Anrufer eine Auswahl mit: "bitte wählen
sie eine 1 für Henning, eine 2 für Gunnar ..." usw.

Gruß
britzelfix
 
@britzelfix
Also ich denke mal der scuba303 hat verstanden was ich meine. ich habe quasi einen mehrgeäreanschluss und von der Tk-Anlage in der firma wo ich arbeite MSNs von 0-9 zugewiesen bekommen. nun will ich 1. meine ausgehenden Anrufe über eine bestimmte MSN laufen lassen und eingehende Anrufe, die an eine BESTIMMTE MSN gesendet werden abfangen. bis jetzt hatte das nur mit den ausgehenden nur halbwegs funktioniert. Wurde eine MSN zum Gegenüber gesendent, aber ich wusste halt nich wo ich das genau einstellen kann. Eingehende Anrufe kann ich garnicht abfangen. macht * keinen mucks. da wollt ich halt ma wissen, wie ich * beibring wie ich auf einer bestimmten MSN "lauschen" kann. ich probier mal die lösung von scuba303 aus und geb dann nochmal bescheid.

@scuba303
thx... wer ich gleich mal morgen testen und bescheid geben
 
Hallo,

es gibt die Variable ${DNID} im dialplan, in der steht bei einem eingehendem Ruf die gewählte Rufnummer. Klappt mit Fritz Card und Capi, bei einer hfc Karte mit zaphfc treiber hats bei mir nicht funktioniert.

Weiss jemand ob es definitv mit hfc nicht geht ?
 
@scuba303
also ich hab das mal getestet. für ausgehende anrufe funktioniert das prima, aber eingehende ISDN Anrufe kriegt das * leider immer noch nicht mit. wäre für jede hilfe dankbar.

grüße, cosh
 
wie sieht denn deine extension.conf aktuell aus?
 
die extensions.conf ist leider noch nicht ganz fertig. schreibe gerade noch ein paar weiterleitungs - macros.
extensions.conf:
Code:
[general]
static=yes
writeprotect=no

[globals]
TCOM => ZAP/g1
HENNING => ZAP/g2/21
GUNNAR => ZAP/g3/31
MARTIN => ZAP/g3/32
ALLEZAP => ZAP/g2/21&ZAP/g3/31&ZAP/g3/32

TEL_IM => 6 ; MSN fuer ausgehende/eingehende Anrufe

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

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

[macro-outisbusy]
exten => s,1,SetLanguage(de)
exten => s,2,Playback(all-circuits-busy-now)
exten => s,3,Playback(pls-try-call-later)

[macro-callwithISDN]
; ARG1= die zu waelende Nummer
exten => s,1,SetCIDNum(${TEL_IM})
exten => s,2,Dial(Zap/g1/0${ARG1},60,tT)
exten => s,3,Hangup

[macro-izd]
; izd = internal-zap-dial
; Standard extension macro (mit Anruf - Weiterleitung):
; ${ARG1} - angerufene(s) Geraet(e)
; ${temp} - das geraet, dass anstatt ${ARG1} angerufen werden sollte

; unbedingte Weiterleitung:
exten => s,1,DBget(temp=CFIM/${ARG1}) ; Get CFIM key, if not existing, goto 102
exten => s,2,GotoIf($["${temp}" > "29"]?3:4)
exten => s,3,Dial(Zap/g3/${temp})   ; Unconditional forward zu Zap Gruppe 3
exten => s,4,Dial(Zap/g2/${temp})   ; Unconditional forward zu Zap Gruppe 2

; wenn keine unbedingte Weiterleitung eigetragen wurde, dann wird die gewaehlte nummer angerufen 
exten => s,5,GotoIf($["${ARG1}" > "29"]?6:7)
exten => s,6,Dial(Zap/g3/${ARG1},20)   ; Unconditional forward zu Zap Gruppe 3, bei keinem DB Eintrag
exten => s,7,Dial(Zap/g2/${ARG1},20)   ; Unconditional forward zu Zap Gruppe 2, bei keinem DB Eintrag

; wenn die gwaehlte Nummer nicht erreichbar ist, wird nachgekuckt, ob fuer diesen fall eine nr angegeben ist
exten => s,8,DBget(temp=CFBS/${ARG1})  ; Get CFBS key, if not existing, goto 109
exten => s,9,GotoIf($["${temp}" > "29"]?10:11)
exten => s,10,Dial(Zap/g3/${temp})  
exten => s,11,Dial(Zap/g2/${temp})
  
; No CFIM key
exten => s,102,Goto(s,5)
     
; wenn die "ersatz" nr fuer die gewaehlte nummer nicht rangeht wird eine voicmail fuer die gewaehlte nummer hinterlassen
; No CFBS key - voicemail 
exten => _s,109,VoiceMail(u${ARG1})
exten => _s,210,VoiceMail(b${ARG1})
exten => _s,211,Congestion

;[macro-isd]


; EINGEHENDE Anrufe und deren weiterleitung an alle internen zap oder sip telefone.
; Standart - mailbox 1 wird verwendet
[tcom]
exten => ${TEL_IM},1,Dial(${ALLEZAP},60)
exten => ${TEL_IM},2,Hangup 

; Anrufe innerhalb der pbx und nach außen (via ISDN oder SIP --> LCR)
[pbx]
include => apps

exten => s,1,Wait(0.1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)

; ===SIP - Telefonie===
; interne SIP telefone (hard oder soft) fangen mit 2 an wegen notrufnummern
exten => _2XX,1,SetCallerId(s${CALLERIDNUM})
exten => _2XX,2,Dial(SIP/${EXTEN},60,tT)
exten => _2XX,3,Wait(5)
exten => _2XX,4,Hangup

; SIP nach draussen
exten => _0X.,1,SetCallerId(679308)
exten => _0X.,2,Dial(SIP/${EXTEN}@sipgate,60,tT)
exten => _0X.,3,Macro(outisbusy)
exten => _0X.,103,Macro(callwithISDN,${EXTEN})

; SIP nach draussen (zu Ortsvorwahl z.B. 03677)
exten => _NXXX.,1,SetCallerId(679308)
exten => _NXXX.,2,Dial(SIP/03677${EXTEN}@sipgate,60,tT)
exten => _NXXX.,3,Congestion
exten => _NXXX.,103,Macro(outisbusy)

; ===interne Zap - Telefonie===
exten => _[23]X,1,Macro(izd,${EXTEN:})

; ===Notfallrufnummern===
;exten => _11[02],1,Dial(Zap/g1/{EXTEN:},60)
;exten => _11[02],2,Hangup
exten => _11[02],1,Macro(callwithISDN,${EXTEN})

; ===Verbotene Rufnummern===
exten => _019X.,1,Macro(notallowed)
exten => _0900X.,1,Macro(notallowed)
exten => _0088X.,1,Macro(notallowed)

; ===Falsche Eingabe===
exten => i,1,Macro(invalidline)
exten => t,1,Macro(invalidline)

[apps]
; ===Voicemail Abruf===
exten => 199,1,VoicemailMain(s${CALLERIDNUM})
exten => 199,2,Hangup 

; ===Music on Hold===
exten => 198,1,Answer
exten => 198,2,MusicOnHold(default)

; ===Anruf - Weiterleitung=== 
; -CFIM: Call forward database family for labels in Asterisk database.
exten => _*123*X.,1,DBput(CFIM/${CALLERIDNUM}=${EXTEN:5})
exten => _*123*X.,2,Hangup
exten => #123#,1,DBdel(CFIM/${CALLERIDNUM})
exten => #123#,2,Hangup
     
; Call Forward on Busy or Unavailable
; -CFBS: Call forward when busy database family for labels in Asterisk database
exten => _*147*X.,1,DBput(CFBS/${CALLERIDNUM}=${EXTEN:5})
exten => _*147*X.,2,Hangup
exten => #147#,1,DBdel(CFBS/${CALLERIDNUM})
exten => #147#,2,Hangup 

; ===Konerenzraum mit meetme===
exten => 100,1,MeetMe,4000

[voip-in]
include => pbx

;eingehende anrufe von sipgate
[sipphones]
exten => _.,1,Dial(${ALLEZAP}&SIP/203,60)

zapata.conf:
Code:
[channels]
;an die ISDN Anlage (Karte mit TE - Modus)
switchtype = euroisdn
signalling = bri_cpe
pridialplan = local
prilocaldialplan = local
usecallerid = yes
callerid = asreceived
overlapdial = yes
echocancel = yes
echocancelwhenbridged = yes
immediate = no
group = 1
context = tcom
channel => 1-2

;==============================================

;an die interne Anlage (1. Karte im NT - Modus)
switchtype = euroisdn
signalling = bri_net_ptmp
pridialplan = local
prilocaldialplan = local
usecallerid = yes
overlapdial = no
immediate = no
group = 2
context = pbx
channel => 4-5
;==============================================

;an die interne Anlage (2. Karte im NT - Modus)
switchtype = euroisdn
signalling = bri_net_ptmp
pridialplan = local
prilocaldialplan = local
usecallerid = yes
overlapdial = no
immediate = no
group = 3
context = pbx
channel => 7-8


Die zaptel.conf hab ich leider gerade nicht hier. be bedarf werd ich sie aber nachsenden. sind auf alle fälle 3 HFC karten in dem rechner die auch alle initialisiert sind. zwei in NT - mode und eine in TE, weil ich hier einen mehrgeräteanschluss habe. hoffe, das hilft.

grüße, cosh.
 
Sooooo, ich hab da nochmal ein kleines update von der extensions.conf. Bin für Hinweise und tips offen.

extensions.conf:
Code:
; extensions.conf
;
; Henning 'cosh' Rauch
; 
;
;
;
; Bereich fuer SIP - clients    --> 200 - 299
;
; Bereich fuer ZAP - clients    --> Gruppe2: 20 - 29
;                               --> Gruppe2: 30 - 39
;
[general]
static=yes
writeprotect=no

[globals]
TCOM => ZAP/g1
HENNING => ZAP/g2/21
GUNNAR => ZAP/g3/31
MARTIN => ZAP/g3/32
ALLEZAP => ZAP/g2/21&ZAP/g3/31&ZAP/g3/32

VORWAHL => 03677 
TEL_IM => 6
SIPNR => 679308 

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

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

[macro-outisbusy] 
exten => s,1,SetLanguage(de)
exten => s,2,Playback(all-circuits-busy-now)
exten => s,3,Playback(pls-try-call-later)

[macro-externalzapdial]
; ARG1= die zu waelende Nummer
exten => s,1,SetCIDNum(${TEL_IM})
exten => s,2,Dial(Zap/g1/0${ARG1},60,tT) ; die "0" vor ${ARG1} wegen Amtsvorwahl, muss an oertliche G
egebenheiten angepasst werden
exten => s,3,Hangup


[macro-internaldial]
; Standard extension macro (mit Anruf - Weiterleitung):
; ${ARG1} - angerufene(s) Geraet(e)
; ${ARG2} - entscheidet, ob ZAP || ZIP
; ${temp} - das geraet, dass anstatt ${ARG1} angerufen werden sollte

; unbedingte Weiterleitung:
exten => s,1,DBget(temp=CFIM/${ARG1}) 
exten => s,2,GotoIf($["${temp:0:1}" = "0"]?3:10)
exten => s,3,GotoIf($["${temp:0:5}" = ${VORWAHL}]?4:7)
exten => s,4,SetCallerId(${SIPNR})
exten => s,5,Dial(SIP/${VORWAHL}${temp}@sipgate,30,tT)
exten => s,6,Goto(s,17)                                
exten => s,7,SetCallerId(${SIPNR}) 
exten => s,8,Dial(SIP/${temp}@sipgate,30,tT)
exten => s,9,Goto(s,17)
exten => s,10,GotoIf($["${ARG1}" > "199"]?11:13)
exten => s,11,Dial(SIP/${ARG1},30)
exten => s,12,Goto(s,17)
exten => s,13,GotoIf($["${ARG1}" > "29"]?14:16) 
exten => s,14,Dial(Zap/g3/${ARG1},30)          
exten => s,15,Goto(s,17)
exten => s,16,Dial(Zap/g2/${ARG1},30)

exten => s,17,DBget(temp=CFBS/${ARG1})
exten => s,18,GotoIf($["${temp:0:1}" = "0"]?19:26)
exten => s,19,GotoIf($["${temp:0:5}" = ${VORWAHL}]?20:23)
exten => s,20,SetCallerId(${SIPNR})                            
exten => s,21,Dial(SIP/${VORWAHL}${temp}@sipgate,30,tT)
exten => s,22,Goto(s,33)                                        
exten => s,23,SetCallerId(${SIPNR})             
exten => s,24,Dial(SIP/${temp}@sipgate,30,tT)
exten => s,25,Goto(s,33)

exten => s,26,GotoIf($["${ARG1}" > "199"]?27:29)
exten => s,27,Dial(SIP/${ARG1},30)             
exten => s,28,Goto(s,33)

exten => s,29,GotoIf($["${temp}" > "29"]?30:32) 
exten => s,30,Dial(Zap/g3/${temp},30)           
exten => s,31,Goto(s,33)
exten => s,32,Dial(Zap/g2/${temp},30)

exten => s,33,VoiceMail(b${ARG1})              
exten => s,34,Congestion                        
exten => s,35,Hangup

; No CFIM key                                  
exten => s,102,GotoIf($["${ARG2}" = "ZAP"]?103:104)
exten => s,103,Goto(s,13)
exten => s,104,Goto(s,11)

; No CFBS key - voicemail
exten => s,118,VoiceMail(u${ARG1})      
exten => s,219,VoiceMail(b${ARG1})     
exten => s,220,Congestion               
exten => s,221,Hangup


[macro-externalsipdial]                 
exten => s,1,SetCallerId(${SIPNR})
exten => s,2,GotoIf($["${ARG2}" = "local"]?3:5)
exten => s,3,Dial(SIP/03677${EXTEN}@sipgate,60,tT)
exten => s,4,Goto(s,6)
exten => s,5,Dial(SIP/{EXTEN}@sipgate,60,tT)
exten => s,6,Congestion
exten => s,7,Hangup
exten => s,104,Goto(s,106)
exten => s,106,Macro(outisbusy)

[tcom]
; Eingehende Anrufe
exten => ${TEL_IM},1,Dial(${ALLEZAP},60)
exten => ${TEL_IM},2,Hangup

[pbx]
include => apps

exten => s,1,Wait(0.1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)

; ===SIP - Telefonie===
; SIP nach draussen
exten => _0X.,2,Macro(externalsipdial,${EXTEN},national)

; SIP nach draussen (zu Ortsvorwahl z.B. 03677)
exten => _NXXX.,2,Macro(externalsipdial,${VORWAHL}${EXTEN},local)

; ===interne Telefonie===
exten => _[23]X,1,Macro(internaldial,${EXTEN},ZAP)

exten => _2XX,1,SetCallerId(${CALLERIDNUM})
exten => _2XX,2,Macro(internaldial,${EXTEN},SIP)

; ===Notfallrufnummern===
exten => _11[02],1,Macro(externalzapdial,${EXTEN})

; ===Verbotene Rufnummern===
exten => _019X.,1,Macro(notallowed)
exten => _0900X.,1,Macro(notallowed)
exten => _0088X.,1,Macro(notallowed)

; ===Falsche Eingabe===
exten => i,1,Macro(invalidline)
exten => t,1,Macro(invalidline)


[apps]
; ===Voicemail Abruf===
exten => 199,1,VoicemailMain(s${CALLERIDNUM}) 
exten => 199,2,Hangup

; ===Music on Hold===                           
exten => 198,1,Answer
exten => 198,2,MusicOnHold(default)

; ===Anruf - Weiterleitung===
; -CFIM: Call forward database family for labels in Asterisk database.
exten => _*123*X.,1,DBput(CFIM/${CALLERIDNUM}=${EXTEN:5})
exten => _*123*X.,2,Hangup
exten => #123#,1,DBdel(CFIM/${CALLERIDNUM})
exten => #123#,2,Hangup

; Call Forward on Busy or Unavailable
; -CFBS: Call forward when busy database family for labels in Asterisk database
exten => _*147*X.,1,DBput(CFBS/${CALLERIDNUM}=${EXTEN:5})
exten => _*147*X.,2,Hangup
exten => #147#,1,DBdel(CFBS/${CALLERIDNUM})
exten => #147#,2,Hangup

; ===Konerenzraum mit meetme===
exten => 100,1,MeetMe,4000

[voip-in]
include => pbx

;eingehende anrufe von sipgate
[sipphones]
exten => _.,1,Dial(${ALLEZAP}&SIP/203,60)

Grüße, Henning.
 
alles, klar. die sache ist gelöst. ich habe den falschen signalling wert in der zapata.conf gesetzt. sollte natürlich so ausssehen:

zapata.conf:
Code:
<snip>
; Karte, die an ISDN Anschluss geht
signalling=bri_cpe_ptmp
</snip>

jetzt klappt alles prima.
 
hehe.. da war ich mit meiner post wohl zu spät.. ;-)
 
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.