rauswahl ins Festnetz zap Siemens S0

dasgute

Neuer User
Mitglied seit
20 Jan 2007
Beiträge
82
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich bin Asterisk-Neuling und habe ein Problem. Seit langem setze ich FLI4l erfolgreich ein, bin begeistert. Nun wollte ich noch den Asterisk drauf setzen was mir auch so halb gelungen ist.

Hardware P3/500 256MB RAM, 2 x HFC ISDN (Reichelt-Elektronik / Longshine)

Meine Konstellation. Asterisk auf fli 3.1.2 Kernel 2.6.16.51 mit zwei HFC Karten, eine TE und andere NT. Das ganze am internen S0-Bus einer Hipath Anlage. Der interne S0 Bus ist als PTP geschaltet also Durchwahlfähig.

bristuff-1y-h-opt-1.2.x-k2.6.16.51.rar
bristuff-1y-h-mod-1.2.x.rar

Der S0 der Anlage ist so eingerichtet das alle Nummern die Hipath nicht kennt rausgehen. Der interne S0 hat die nummer 90. Die internen Durchwahlnummern der Anlage sind 2 und 3 -stellig.

Die SIP Telefone haben dreistellige Nummern. Will ich eins der Sip-Telefone anrufen muß ich aus der Siemens-Anlage die 90 wählen gefolgt von den SIP-Nummern.
Um ins Festnetz rauswählen zu können muß ich eine 0 wählen.

Was geht ist:
Anlagen-Nebenstellen von internen SIP-Clients anrufen
SIP zu SIP
SIP Clients anrufen von Anlagen-Nebenstellen.
Durchwählen auf SIP-Clients vom Festnetz, Mobilnetz

Was nicht geht ist:
von SIP-Clients ins Festnetz.´

Meine Konfigs:
Code:
[channels]
language=de
switchtype=euroisdn
signalling=bri_cpe
pridialplan=local
nationalprefix = 0
internationalprefix = 0049
echocancel=yes
immediate=no
;setcallerid(""<${CALLERIDNUM}>)
overlapdial=yes
group=1
context=meine-telefone
channel=>1-2
;
signalling = bri_cpe_ptmp
group = 2
channel => 4-5

SIP.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context = sonstige
realm=usergruppe@asterisk
disallow=all
allow=ulaw
allow=alaw
allow=gsm
qualify=yes
dtmfmode=info

[180]
type=friend
context=meine-telefone
secret=4711
host=dynamic
mailbox=180

[181]
type=friend
context=meine-telefone
secret=4711
host=dynamic
mailbox=181

extensions.conf
Code:
[sonstige]

[meine-telefone]
include => lokal_voip
include => lokal_isdntk_2
include => lokal_isdntk_3
include => zap-in
include => zap-out



[lokal_voip]
;Lokale SIP Tlefone untereinander
exten => 180,1,Dial(SIP/180,20)
exten => 180,n,Hangup()

exten => 181,1,Dial(SIP/181,20)
exten => 181,n,Hangup()

;sip Telefone -> ISDN Nebenstelle Siemens
;2-stellig
[lokal_isdntk_2]
exten => _ZX,1,Dial(ZAP/G1/${EXTEN},30)
exten => t,n,Hangup

;sip Telefone -> ISDN Nebenstelle Siemens
;3-stellig
[lokal_isdntk_3]
exten => _ZXX,1,Dial(ZAP/G1/${EXTEN},30)
exten => t,n,Hangup

;dient zum Rauswählen ins Fest-/Mobilnetz
[zap-out]
exten => _0XXXXX.,1,Dial(ZAP/1/0${EXTEN},30)
exten => t,n,Hangup


;eingehende Telefonate über ISDN extern
;90 von der Anlage
[zap-in]
exten => 90180,1,Set(LANGUAGE()=de)
exten => 90180,2,Ringing()
exten => 90180,3,Dial(SIP/180,${localdialtimeout},t)
exten => 90180,4,Congestion()
exten => 90180,5,Wait(10)
exten => 90180,6,Hangup()


exten => 90181,1,Set(LANGUAGE()=de)
exten => 90181,2,Ringing()
exten => 90181,3,Dial(SIP/181,${localdialtimeout},t)
exten => 90181,4,Congestion()
exten => 90181,5,Wait(10)
exten => 90181,6,Hangup()

CLI meldet beim rauswählen
Code:
*CLI>   == Primary D-Channel on span 1 up
    -- Executing Dial("SIP/180-081713e0", "ZAP/1/001701234567|30") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called 1/001701234567
    -- Zap/1-1 is proceeding passing it to SIP/180-081713e0
    -- Channel 0/1, span 1 got hangup request, cause 28
    -- Channel 0/1, span 1 received AOC-E charging 0 units
Jun 28 07:45:53 WARNING[10942]: app_dial.c:741 wait_for_answer: Unable to forward voice
    -- Hungup 'Zap/1-1'
  == Everyone is busy/congested at this time (1:0/0/1)
Jun 28 07:46:04 WARNING[10942]: pbx.c:2436 __ast_pbx_run: Timeout, but no rule 't' in context 'meine-telefone'
  == Primary D-Channel on span 2 down

Was stimmt da nicht? Ich vermute da stimmt was mit dem Context nicht. Wo fange ich an?
Vielen Dank schonmal für Eure Hilfe.
 
Zuletzt bearbeitet:
Ich habe den Beitrag mal verschoben, da es kein fli4l-spezifisches Problem ist!
 
wurde in der /etc/rc.d/rc999.asterisk der Aufruf von zaphfc richtig gesetzt:

Code:
modes
errechnet sich nach folgendem Binär-Muster (Karten-Nummer von rechts nach links)
00 = 2 Karten im TE-Modus => modes=0
01 = 1. Karte im NT-Modus, 2. Karte im TE-Modus => modes=1
10 = 1. Karte im TE-Modus, 2. Karte im NT-Modus => modes=2
11 = 2 Karten im NT-Modus => modes=3

011 = 1. und 2. Karte im NT-Modus, 3. Karte im TE-Modus

timer_card
ist die laufende Nr. der Hfc-Karte, die den Timer liefern soll. Standard ist 0. Die Karte darf sich den Interrupt nicht mit einer anderen Karte teilen.

Also insmod ./zaphfc.ko modes=1 oder 2 timer_card=1
 
vielen Dank für den Hinweis netview.

Habe die Stelle in der rc999 gefunden und werde das probieren.

EIne Frage hätt ich noch.

Wie ist das eigentlich bei Quadbri-Karten (spiele mit dem Gedanken eine solche einzusetzen). Muß man da auch die modes setzen?
Verhält sich da jeder Anschluß wie eine eigene ISDN-Karte?

Besten Dank.
 
Bei den quadbri-Karten braucht man einen anderen Kerneltreiber (ist derzeit nicht im *-pack enthalten, kann ich jedoch bei Bedarf erstellen!).

Allerding kosten diese Karten ab 500.- Euro aufwärts :-(

Jeder port kann getrennt als TE/NT konfiguriert werden.
 
ja das ist ganz schön teuer. Wenn Du mir helfen könntest wegen dem Treiber ware das echt ne Sache...
Leider hat mein Test-Mainboard nur 3 PCI-Slots. Am liebsten würde ich 4 HFC Karten einsetzen aber ich denke mal das das bestimmt Probleme gibt bei den vielen Interrupts. Irgendwo hab ich noch ein Mainboard mit 5 Slots. Das werde ich mal gaghalber probieren. Ich muß erst mal meine jetzige Konstellation hinbekommen, denn die läuft immer noch nicht. Iregendwi glaube ich aber das die Karten funzen sollten, zap show Status bringt das hier. Sieht irgendwie ganz gut aus -oder?

Description Alarms IRQ bpviol CRC4
HFC-S PCI A ISDN card 0 [NT] layer 1 AC@ OK 0 0 0
HFC-S PCI A ISDN card 1 [TE] layer 1 AC@ OK 0 0 0

Ich komm einfach nicht ins Festnetz raus.

CLI bringt wie immer:

Executing Dial("SIP/180-0818c090", "Zap/g2/00171234567||Tt") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called g2/00171234567
-- Zap/4-1 is proceeding passing it to SIP/180-0818c090
-- Channel 0/1, span 2 got hangup request
-- Channel 0/1, span 2 received AOC-E charging 0 units
-- Hungup 'Zap/4-1'
== Everyone is busy/congested at this time (1:0/0/1)
zap show channels

Also rein zap-mäßig sieht es aus als würde auch der richtige zap channel auf der zweiten Karte verwendet. Wenns der context wäre würde * das ja anmeckern.

Ich bin ratlos.
 
Hallo,

ich verwende zum raustelefonieren einfach die CAPI. Dazu sind nur zwei bzw. ist nur eine Zeile zu ändern in [zap-out]:

exten => _0[0-9].,1,Set(CALLERID(num)=abgehendeMSN) ; optional
exten => _0[0-9].,n,Dial(CAPI/g1/${EXTEN:1},30,r) ; 0 als Prefix zum Rauswählen!

Hoffe, es hilft.

Grüße,
macPicard
 
Die capi wird vermutlich in Verbindung mit einer hfc-karte nicht laufen!

Welches Kabel hast du an der hfc in Richtung Amt (sollte nicht gedreht sein!).
 
Stimmt, gute Idee. Aber geht das denn wenn ich HFC Karten habe? Ich dachte bisher CAPI kann eine Fritz-Karte und ich hab ja zwei HFC-Karten drin.

Mal probieren. Danke!
 
Danke netview, Du warst schneller als ich mit meinen Bedenken. Habs außerdem probiert - geht leider nicht.

"Everyone is busy/congested at this time" heißt doch eigentlich nichts weiter als das kein Freizeichen kommt -oder? Vielleicht wählt er zu schnell raus. Dann bräuchte ich so eine Art Wählpause zwischen 0 und $EXTEN.

Geht sowas?
 
Ich denke in der zapata.conf muss der NT und TE-Mode richtig gesetzt werden:

Code:
...
switchtype = euroisdn
signalling = bri_net_ptmp   ; this is NT mode! Use bri_cpe_ptmp for standard TE mode

NT - aktiver S0-Bus zum Anschluss von Endgeräten (Kabel gedreht - Stromversorgung via NTBA)
TE - Anschluss Amt bzw. TK-Anlage/Nebenstelle
 
O.K Das hab ich jetzt mal so geändert. Leuchtet ein. Jetz hab ich NT seitig einen Mehrgeräteanschluss und TE seitig einen Anlagenanschluss. Irgendwie sieht das alles ganz gut aus, zumindest kommen keine Fehlermeldungen.

Code:
[channels]
language=de
switchtype=euroisdn
signalling=bri_net_ptmp
pridialplan=local
echocancel=yes
immediate=no
;setcallerid(<${CALLERIDNUM}>)
overlapdial=yes
group=1
context=default
channel=>1-2
;
signalling = bri_cpe
group = 2
channel => 4-5

ztcfg -vv bringt das

Code:
Zaptel Configuration
======================

SPAN 1: CCS/ AMI Build-out: 399-533 feet (DSX-1)
SPAN 2: CCS/ AMI Build-out: 399-533 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Slaves: 01)
Channel 02: Clear channel (Default) (Slaves: 02)
Channel 03: D-channel (Default) (Slaves: 03)
Channel 04: Clear channel (Default) (Slaves: 04)
Channel 05: Clear channel (Default) (Slaves: 05)
Channel 06: D-channel (Default) (Slaves: 06)

zap show status

Description Alarms IRQ bpviol CRC4
HFC-S PCI A ISDN card 0 [NT] layer 1 AC@ OK 0 0 0
HFC-S PCI A ISDN card 1 [TE] layer 1 AC@ OK 0 0 0

Prolblem ist das es immer noch nicht geht. Das selbe Problem "Everyone is busy/congested at this time".

Hab jetzt eine Wählpause nach der Null eingebaut:

;dient zum Rauswählen ins Fest-/Mobilnetz
[zap-out]
exten => _0XXXXX.,1,Dial(ZAP/G2/0,${EXTEN},30)
exten => t,n,Hangup

Hat aber auch nix gebracht.

Oder sind die Modes irgendwie verdreht?

Hab auch schon an die capi.conf gedacht, aber die ist doch eigentlich nicht relevant bei reinem HFC-Betrieb oder?

Wer weiß weiter?

Weiterhin ratlos und für jeden Tipp dankbar...
 
Zuletzt bearbeitet:
Hab gerade unseren Siemens Mann gefragt. Der sagt das ist Euroisdn-Protokoll ohne irgendwelche Zusätze oder besonderheiten.

Es ist zum verzweifeln.
 
Zuletzt bearbeitet:
Ich kann dir leider zum Thema Anlagenanschluss nicht groß weiterhelfen, da ich über keinen verfüge :-(

Daher wäre es schön, wenn vielleicht ein anderes Forenmitglied hier Antwort geben könnte?!
 
Hi Leute ich glaub ich habs (teilweise).

Habe jetzt meie Wählregel angepasst

extensions.conf
Code:
exten => _0XXXX.,1,SetCIDNum(90${CALLERIDNUM})
exten => _0XXXX.,2,Dial(Zap/g2/0000${EXTEN:1},,Tt)
exten => t,n,Hangup

CLI bringt nun folgendes:
Code:
== Primary D-Channel on span 1 up
    -- Executing SetCIDNum("SIP/180-0818e220", "90180") in new stack
Jul  5 14:35:47 WARNING[19042]: app_setcidnum.c:76 setcallerid_exec: SetCIDNum is deprecated, please use Set(CALLERID(number)=value) instead.
    -- Executing Dial("SIP/180-0818e220", "Zap/g2/00001701234567||Tt") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g2/00001701234567
    -- Zap/1-1 is proceeding passing it to SIP/180-0818e220
1 !! Unknown IE 50 (cs5, Unknown Information Element)
    -- Zap/1-1 is ringing
    -- Hungup 'Zap/1-1'

Wer genau hinschaut erkennt das ich 3 Nullen rauswähle. Das kann ich mir nicht erklären, denn ich wähle ja eine Null um aus Asterisk rauszukommen und eine weitere um aus der Siemens-Anlage (Amt holen) rauszukommen und danach die Nummer. Ich verstehe es zwar nicht ganz aber es geht. JuHu!!!

Vielleicht hat jemand ne Erklärung.
 

Statistik des Forums

Themen
246,382
Beiträge
2,251,164
Mitglieder
374,041
Neuestes Mitglied
Baffalo
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.