Asterisk hinter TK-Anlage PROBLEM

Karaz

Neuer User
Mitglied seit
15 Jan 2007
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo Community, erstmal ein Lob an alle aktiven hier im Forum.
Ihr habt mir zumindest sehr geholfen bei der Einrichtung von Asterisk.

Doch nun zu meinem Problem. Dazu erstmal das Szenario:

Asterisk 1.2.14 ist hinter eine Panasonic TK-Anlage angeschlossen, an einen internen S0. In der TK-Anlage ist einprogrammiert das auf diesen S0 die Nebenstellen 670-679 zu erreichen sein sollten. (mit Absicht "sollten" da ich dem TK-Anlagenbetreiber nicht ganz traue)
So an Asterisk sind einige VoIP-Telefone angebunden die unternanderem auch über ein VPN reinkommen. Diese Telefone haben die "virtuellen" Nummer 670-679. Sprich es soll so sein, als ob es ganz normal ISDN Telefone wären.

An einen anderen Anschluss an der TK-Anlage hängen die herkömmlichen ISDN- / Analogtelefone die die anderen Nebenstellen, sprich 10-90 (ohne 60er Bereich) ausfüllen. Doch das ist nicht so interessant.
Weiterhin werden die SIP-Teilnehmer aus eine MySQL-Datenbank ausgelesen.

Was bisher funktioniert: Es ist möglich das die VoIP-Telefone untereinander telefonieren können. Es ist möglich über den S0 ins deutsche Festnetz zu telefonieren (von jedem Telefon). Es ist möglich die herkömlichen Nebenstellen von einem VoIP-Telefon zu erreichen.

Was nicht möglich ist! Von den herkömmlichen Nebenstellen kann keine VoIP-Nebenstelle angerufen werden.
Eingehende ISDN Anrufe landen zur Zeit auf einen VoIP-Telefone (das liegt an der extension.conf)

Was ich also möchte: Es soll möglich sein von den herkömmlichen Nebenstellen die VoIP-Nebenstellen zu erreichen. Desweiteren möchte ich externe Anrufe, anhand der gewählten Nebenstelle an das zuständige VoIP-Telefon weiterleiten. Beispiel: 02XX/61XXXX-671 soll dann zum SIP 671 geleitet werden.
Weiterhin stehen mir zwei weitere S0 zur Verfügung die dann später mit eingebunden werden sollten (das sehe ich aber nicht als Problem)

Dazu nun einige Informationen:
Es sind alle notwendigen Module geladen und bekomme auch keine Fehlermeldungen.

capiinfo
Controller 1:
Manufacturer: AVM GmbH
CAPI Version: 2.0
Manufacturer Version: 3.11-07 (49.23)
Serial Number: 1000001
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x4000011f
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 asynconous operation with start/stop byte framing
V.110 synconous operation with HDLC framing
T.30 modem for fax group 3
Modem asyncronous operation with start/stop byte framing
B2 protocols support: 0x00000b1b
ISO 7776 (X.75 SLP)
Transparent
LAPD with Q.921 for D channel X.25 (SAPI 16)
T.30 for fax group 3
ISO 7776 (X.75 SLP) with V.42bis compression
V.120 asyncronous mode
V.120 bit-transparent mode
B3 protocols support: 0x800000bf
Transparent
T.90NL, T.70NL, T.90
ISO 8208 (X.25 DTE-DTE)
X.25 DCE
T.30 for fax group 3
T.30 for fax group 3 with extensions
Modem

0100
0200
39000000
1f010040
1b0b0000
bf000080
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS


capi show channels
CAPI B-channel information:
Line-Name NTmode state i/o bproto isdnstate ton number
----------------------------------------------------------------
ISDN1#02 no ----- - trans 0x00 ''->''
ISDN1#01 no ----- - trans 0x00 ''->''
Hier ist schonmal komisch das unter Number "-" steht. Aber für TK-Anlagen vllt normal.

Capi.info
[general]
nationalprefix=0
internationalprefix=049
rxgain=0.8
txgain=0.8
language=de ;set default language
;ulaw=yes ;set this, if you live in u-law world instead of a-law

[ISDN1]

;ntmode=yes ;if isdn card operates in nt mode, set this to yes
isdnmode=MSN ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123 ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
;controller=0 ;ISDN4BSD default
;controller=7 ;ISDN4BSD USB default
controller=1 ;capi controller number of this interface/port
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
faxdetect=off ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
accountcode= ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
context=capi-in ;context for incoming calls
;holdtype=hold ;when the PBX puts the call on hold, ISDN HOLD will be used. If
;set to 'local' (default value), no hold is done and the PBX may
;play MOH.
;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
echocancel=no ;EICON DIVA SERVER (CAPI) echo cancelation (yes=g165)
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
;echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64 ;echo cancel tail setting (default=0 for maximum)
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
;incorporate variable gain in the signal path.
;bridge=yes ;native bridging (CAPI line interconnect) if available
callgroup=1 ;PBX call group
;pickupgroup=1 ;PBX pickup group (which call groups are we allowed to pickup)
language=de ;set language for this device (overwrites default language)
;disallow=all ;RTP codec selection (valid with Eicon DIVA Server only)
;allow=all ;RTP codec selection (valid with Eicon DIVA Server only)
devices=2 ;number of concurrent calls (b-channels) on this controller
;(2 makes sense for single BRI, 30/23 for PRI/T1)

extensions.conf
[general]

static=yes
writeprotect=no
;autofallthrough=yes
;clearglobalvars=no
;priorityjumping=no
[globals]
;CONSOLE=Console/dsp ; Console interface for demo
;CONSOLE=Zap/1
;CONSOLE=Phone/phone0
;IAXINFO=guest ; IAXtel username/password
;IAXINFO=myuser:mypass
;TRUNK=Zap/g2 ; Trunk interface
;TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
sipusers=>mysql,asterisk,sip_user

[lokal_voip]
;Erreichbarkeit der SIP-Telefone 600-699
exten => _6XX,1,Dial,SIP/${EXTEN}|55|Ttr

;dient zum erreichen der herkömlichen Nebenstellen
[lokal_isdn]
exten => _1X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _2X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _3X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _4X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _5X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _7X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _8X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => _9X,1,Dial(CAPI/ISDN1/${EXTEN},30)
exten => t,2,Hangup

;eingehende ISDN-Telefone, zurzeit werden diese an ein bestimmtes SIP-Telefon weitergeleitet
[capi-in]
exten => s,1,Answer()
exten => s,2,Dial(SIP/671,30,tT)
;exten => _X,1,Dial,Sip/30&SIP/31|30
exten => t,n,Hangup

;ausgehende ISDN-Gespräche ins Festnetz
[capi-out]
exten => _XX.,1,Dial(CAPI/ISDN1/${EXTEN},600)
exten => t,2,Hangup

[default]
include => lokal_voip
include => lokal_isdn
include => capi-in
include => capi-out

Nun noch einige Informationen aus der Asterisk-Konsole.

Ausgehender ISDN-Anruf ins Festnetz/mobil. Funktioniert.
Executing Dial("SIP/670-081b83d8", "CAPI/ISDN1/001XXXXX329|600") in new stack
-- Called ISDN1/001XXXXX29
-- CAPI/ISDN1/001XXXXX29-0 is proceeding passing it to SIP/670-081b83d8
-- CAPI/ISDN1/001XXXXX29-0 is making progress passing it to SIP/670-081b83d8
-- CAPI/ISDN1/001XXXXX29-0 is ringing
-- CAPI/ISDN1/001XXXXX29-0 answered SIP/670-081b83d8
== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 2
== Spawn extension (default, 0017621046329, 1) exited non-zero on 'SIP/670-081b83d8'

Eingehender ISDN-Anruf aus dem Festnetz/mobil. OK das SIP-Telefon war gerade ausgeschaltet. Macht aber nix, im Prinzip funktioniert es.
ISDN1#02: Incoming call '01XXXXX29' -> ''
-- Executing Answer("CAPI/ISDN1/-1", "") in new stack
== ISDN1#02: Answering for
-- Executing Dial("CAPI/ISDN1/-1", "SIP/671|30|tT") in new stack
-- Called 671
-- Got SIP response 480 "Temporarily not available" back from 172.29.20.26
-- SIP/671-081b83d8 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 2
> ISDN1#02: CAPI INFO 0x3490: Normal call clearing

Anruf vom SIP-Telefon zu einer Nebenstellen. Funktioniet auch.
-- Executing Dial("SIP/670-081b2440", "CAPI/ISDN1/84|30") in new stack
-- Called ISDN1/84
-- CAPI/ISDN1/84-2 is proceeding passing it to SIP/670-081b2440
-- CAPI/ISDN1/84-2 is making progress passing it to SIP/670-081b2440
-- CAPI/ISDN1/84-2 is ringing
== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5
== Spawn extension (default, 84, 1) exited non-zero on 'SIP/670-081b2440'

Anruf einer Nebenstelle zum SIP-Telefon (mit Capi debug). Funktioinert nicht!
CONNECT_IND ID=002 #0x02de LEN=0035
Controller/PLCI/NCCI = 0x101
CIPValue = 0x10
CalledPartyNumber = <80>67
CallingPartyNumber = <40 80>84
CalledPartySubaddress = default
CallingPartySubaddress = default
BC = <80 90 a3>
LLC = default
HLC = <91 81>
AdditionalInfo = default

-- CONNECT_IND (PLCI=0x101,DID=67,CID=84,CIP=0x10,CONTROLLER=0x1)
> ISDN1#02: msn='*' DNID='67' DID
== ISDN1#02: setting format alaw - 0x8 (alaw)
== ISDN1#02: Incoming call '84' -> '67'
INFO_IND ID=002 #0x02df LEN=0018
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x70
InfoElement = <80>67

INFO_RESP ID=002 #0x02df LEN=0012
Controller/PLCI/NCCI = 0x101

-- ISDN1#02: info element CALLED PARTY NUMBER
-- ISDN1#02: Updated channel name: CAPI/ISDN1/67-8
CONNECT_RESP ID=002 #0x02df LEN=0034
Controller/PLCI/NCCI = 0x101
Reject = 0x1
BProtocol
B1protocol = 0x0
B2protocol = 0x0
B3protocol = 0x0
B1configuration = default
B2configuration = default
B3configuration = default
GlobalConfiguration = default
ConnectedNumber = default
ConnectedSubaddress = default
LLC = default
AdditionalInfo
BChannelinformation = default
Keypadfacility = default
Useruserdata = default
Facilitydataarray = default
SendingComplete = default

INFO_IND ID=002 #0x02e0 LEN=0016
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x18
InfoElement = <89>

INFO_RESP ID=002 #0x02e0 LEN=0012
Controller/PLCI/NCCI = 0x101

-- ISDN1#02: info element CHANNEL IDENTIFICATION 89
INFO_IND ID=002 #0x02e1 LEN=0016
Controller/PLCI/NCCI = 0x101
InfoNumber = 0xa1
InfoElement = <a1>

INFO_RESP ID=002 #0x02e1 LEN=0012
Controller/PLCI/NCCI = 0x101

-- ISDN1#02: info element Sending Complete
DISCONNECT_IND ID=002 #0x02e4 LEN=0014
Controller/PLCI/NCCI = 0x101
Reason = 0x0

DISCONNECT_RESP ID=002 #0x02e4 LEN=0012
Controller/PLCI/NCCI = 0x101

-- ISDN1#02: DISCONNECT_IND on incoming without pbx, doing hangup.
> CAPI/ISDN1/67-8: set channel task to 1
== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 4
== ISDN1#02: Interface cleanup PLCI=0x101
> CAPI devicestate requested for ISDN1/67



So ich hoffe ich habe alle notwendigen Informationen aufgelistet. Ich hoffe die Community kann mir weiterhelfen.

Nochmal kurz zusammengefasst was ich gerne hätte.
Es soll möglich sein von herkömmlichen Nebenstellen die SIP-Telefone zu erreichen und externe Anrufe sollen anhand der gewählten Nebenstelle zu dem richtigen SIP-Telefon weitergeleitet werden.

Hoffe mir kann jemand helfen. Oder ist da nicht zu helfen? ;)
 
CONNECT_IND ID=002 #0x02de LEN=0035
Controller/PLCI/NCCI = 0x101
CIPValue = 0x10
CalledPartyNumber = <80>67
CallingPartyNumber = <40 80>84
CalledPartySubaddress = default
CallingPartySubaddress = default
BC = <80 90 a3>
LLC = default
HLC = <91 81>
AdditionalInfo = default

-- CONNECT_IND (PLCI=0x101,DID=67,CID=84,CIP=0x10,CONTROLLER=0x1)
> ISDN1#02: msn='*' DNID='67' DID
== ISDN1#02: setting format alaw - 0x8 (alaw)
== ISDN1#02: Incoming call '84' -> '67'
INFO_IND ID=002 #0x02df LEN=0018
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x70
InfoElement = <80>67

da kann man doch wunderbar sehen, warum es nicht funktioniert:
Incoming call '84' -> '67'

Versuche das mal mit "immediate=no" oder alternativ mit "isdnmode=DID" in deiner capi.conf .

Du hast augenscheinlich (IMHO) keinen S0 P2MP, sondern wohl eher einen P2P Anschluss und die Anlage sendet schonmal vorab die 67 und asterisk sollte dann wenigstens noch eine Ziffer abwarten.
Der Fehler liegt demnach irgendwo in deiner Konfiguration auf der CAPI Seite, da ja externe eingehende Gespräche ankommen (das funktioniert deswegen, weil die Rufnummer dort schon komplett gewählt ist und von der Anlage dann auch an den Asterisk komplett durchgegeben wird).

Gruß Mario
 
Hallo,

leider hat die Änderung nichts gebracht :-(

weiterhin die selbe Meldung.

oh je.

Laut Panassonic-Betreiber ist es aber ein echter S0... aber da wollen die mir vllt garnicht weiterhelfen, weil sie ja nix dran verdienen.
 
Ich sehe bei dir im capi-in context kein match fuer die 67X Nummern ...

Armin
 
Ahoi,

bei deiner extensions.conf schickst du im Moment Anrufe direkt an SIP/671

Karaz schrieb:
;eingehende ISDN-Telefone, zurzeit werden diese an ein bestimmtes SIP-Telefon weitergeleitet
[capi-in]
exten => s,1,Answer()
exten => s,2,Dial(SIP/671,30,tT)
;exten => _X,1,Dial,Sip/30&SIP/31|30
exten => t,n,Hangup

mit

exten => _67x,1,Dial(SIP/${EXTEN},30,Tt)
usw.

schickst du die jeweilige MSN auf den entsprechenden SIP Teilnehmer, diese Nummern sind ja bei dir identisch.

Unterschiede von externen Anrufern aus dem Festnetz oder internen von der TK Anlage sollte es keine geben, es sei den die TK Anlage reicht die komplette Anschlussnummer durch, was ich jedoch nicht glaube.

Dein Problem liegt IMHO jedoch an der Anbindung der TK Anlage, offensichtlich kommt von der Anlage nur eine 2-stellige Nummer an:

Karaz schrieb:
-- CONNECT_IND (PLCI=0x101,DID=67,CID=84,CIP=0x10,CONTROLLER=0x1)
> ISDN1#02: msn='*' DNID='67' DID
== ISDN1#02: setting format alaw - 0x8 (alaw)
== ISDN1#02: Incoming call '84' -> '67'
INFO_IND ID=002 #0x02df LEN=0018
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x70
InfoElement = <80>67

entweder hackts da an der Konfiguration deiner Karte ,
oder, wie m.goegel schon vermutet, ist der S0 Anschluss der TK Anlage als Durchwahlanschluss eingerichtet und nicht als "normaler" MGA mit deinen Rufnummern als MSN, hier am besten den TK Techniker befragen.
(Ist eine Fritz!PCI im Einsatz? diese kann meines wissens keinen P2P (Durchwahl) Anschluss)


Ciao,

Frank
 
vielen Dank schonma für die Antwort.

ich vermute es liegt doch an der Fritz!PCI Karte und den Capi-Treibern.

Da laut TK-Anlagen Betreiber die Anlage alles kann, was ich benötige.

Zusätzlich habe ich es mal mit mISDN versucht. Die Standardeinrichtung klappt auch wunderbar. Doch beim Scan wird nur der TE-Modus erkannt. Dieser lässt sich in der conf Datei zwar ändern, danach funktioniert aber misdn nicht mehr.

ist natürlich die frage, ob ich einfach sagen kann, das die karte das und das kann, obwohl sie es vllt garnicht kann.

naja erstmal auf dei b1 warten.
 
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.