asterisk mit bristuff und capi

forumuser-1

Neuer User
Mitglied seit
22 Jul 2005
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

trotz tagelangem Durchforsten des Forums bekomme ich den Asterisk Server nicht zum Laufen.

Asterisk ist installiert und startet korrekt auf Konsolenebene:

Aber:

- externe anrufe auf die SIP Telefonnummer (0180xxx) werden signalisiert aber nicht korrekt angenommen
-> context Fehlermeldungen
- es werden keine externen isdn anrufe auf der TE-Karte (CAPI) registriert/signalisiert
- xlite wählversuche werden nicht erkannt
-> context Fehlermeldungen


Bei der asterisk Konfiguration habe ich mich an die Beispiele im Forumseingang gehalten.

-> Ip-Phone-Forum FAQ -> Asterisk -> Asterisk ist installiert, - wie kann ich jetzt SIP-Gespräche führen?

Später sollen dann SIP und CAPI kombiniert werden. Erst soll asterisk in der Grundkonfiguration laufen.


Ich habe folgende Kombination im Einsatz:

Fedora Core 2 kernel-2.6.8-1.521 / Asterisk 1.0.9-BRIstuffed-0.2.0-RC8o / chan_capi-cm0.6

1. AVM Fritzcard PCI (TE-Modus) (chan_capi-cm-0.6)
2. Billion HFC-PCI (NT-Modus: make loadNT)

Der zaphfc Treiber für die HFC-PCI Karte wird offensichtlich korrekt installiert und die Karte entsprechend konfiguriert:

"cat /proc/interrupts"
-> 10: 53036275 XT-PIC eth2, zaphfc

"cat /proc/zaptel/1"
-> Span 1: ZTHFC1 "HFC-S PCI A ISDN card 0 [NT] layer 1 DEACTIVATED (G2)" AMI/CCS
-> 1 ZTHFC1/0/1 Clear (In use)
-> 2 ZTHFC1/0/2 Clear (In use)
-> 3 ZTHFC1/0/3 HDLCFCS (In use)

"ztcfg -vv"

Zaptel Configuration
======================

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

Channel map:

Channel 01: Individual Clear channel (Default) (Slaves: 01)
Channel 02: Individual Clear channel (Default) (Slaves: 02)
Channel 03: D-channel (Default) (Slaves: 03)

3 channels configured.


Habe die Fritzcard mit einem ISDN (Netzwerkkabel) mit der Acror Starterbox verbunden.


### Asterisk CAPI Probleme:

(Fehler)meldung beim Starten von Asterisk:
[chan_capi.so] => (Common ISDN API for Asterisk)
== Parsing '/etc/asterisk/capi.conf': Found
Sep 29 09:11:08 NOTICE[3899]: chan_capi.c:4411 cc_init_capi: Unused contr1
== Registered channel type 'CAPI' (Common ISDN API Driver (cm-0.6) )

Habe im Internet nur eine derartige Meldung gefunden, allerdings wurde der CAPI-Treiber in diesem Fall nicht geladen.

Hier indes scheint die Fritzcard korrekt initialisert worden zu sein:

*CLI> capi info
Contr1: 2 B channels total, 2 B channels free.


Wenn ich nun von extern (handy) meine Festnetznummer (0xx)xxxxxx28 anrufe, reagiert asterisk überhaupt nicht.

Hatte zwischenzeitlich Hylafax abgeschaltet (msn xxxxxx27), um andere Probleme ausschliessen zu können.

Was ich ebenfalls nicht verstehe: egal wie die extensions.conf bearbeitet wird, asterisk zeigt nach Neustarts immer diesen dialplan:

*CLI> show dialplan
[ Context 'parkedcalls' created by 'res_features' ]
'700' => 1. Park() [res_features]

Ist dies normal?



### Asterisk SIP Probleme:

*CLI> sip show users
Username Secret Accountcode Def.Context ACL NAT
1234 geheim sipgate No RFC35
626xxxx passwort sip-out No Alway

Der SIP-Account wird korrekt beim Provider registriert.

*CLI> sip show registry
Host Username Refresh State
sipgate.de:5060 626xxxx 105 Registered


Ein Anruf von extern auf die SIP Telefonnummer 01801xxxxxxx quittiert asterisk grundsätzlich mit dem Hinweis, dass kein context gefunden werden kann:

*CLI> Sep 29 10:29:23 NOTICE[11968]: pbx.c:1332 pbx_extension_helper: Cannot find extension context 'sipgate'

-> Dieser Kontext existiert allerdings in der extensions.conf

Habe diverse Konfigurationen in der extensions.conf ausprobiert, die context Fehlermeldungen bleiben bestehen.

Ich befürchte inzwischen etwas den Überblick in dieser Materie verloren zu haben...

Wie gesagt, ich wäre froh, wenn ich asterisk erst einmal grundsätzlich zum Laufen bringen könnte....


Mit der Bitte um Hilfe,
Vielen Dank!

VG
Wolfgang



Anbei meine Konfiguration:



/etc/asterisk/capi.conf

; CAPI config (chan_capi-cm)

[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8

;; [interfaces] ; seems to be outdated from chan_capi-cm Version >= 0.6

; mode: ptmp (point-to-multipoint) or ptp (point-to-point)
; the driver from AVM for the passive Fritz card only supports PTM (Point-to-Multipoint) "Mehrgeraeteanschluss"
isdnmode=ptmp
; allow incoming calls to this list of MSNs, * == any
incomingmsn=*
;incomingmsn=xxxxxx28
; capi controller number
controller=1
; dialout group
group=1
; enable/disable software dtmf detection, recommended for AVM cards
softdtmf=1
; accountcode to use in CDRs
accountcode=
context=capi-in

devices => 2



/etc/asterisk/modules.conf

;
; Asterisk configuration file
; Module Loader configuration file
;

; ----------------------------------------------------
; Use autoload=yes together with noload => module_name
; Use autoload=no together with load => module_name
; ----------------------------------------------------


[modules]
;autoload=yes ;; disabled wsc
autoload=no

load => res_features.so
load => res_musiconhold.so
load => res_monitor.so

;load => chan_iax2.so
load => chan_sip.so
load => chan_zap.so

;;noload => pbx_gtkconsole.so
;load => pbx_gtkconsole.so
;;noload => pbx_kdeconsole.so

;noload => app_intercom.so

; ## wsc 07.12.04
load => chan_capi.so
;load => chan_modem.so

;;noload => chan_alsa.so
;noload => chan_oss.so

[global]
; ## wsc 07.12.04
chan_capi.so=yes
;chan_modem.so=yes




/etc/asterisk/zapata.conf

;
; Zapata telephony interface
; Configuration file
;

; p2mp TE mode (for connecting ISDN lines in point-to-multipoint mode)
; signalling = bri_cpe_ptmp
; p2mp NT mode (for connecting ISDN phones in point-to-multipoint mode)
; signalling = bri_net_ptmp


[channels]
;----------------------------------------------------------------------------
;NT-Karte fuer ISDN-Telefonanlage im Mehrgeraete-Anschluss
;----------------------------------------------------------------------------

; 1. Karte
switchtype = euroisdn
signalling = bri_net_ptmp ; muss mit der durch modes in Makefile gemachten Einstellung übereinstimmen
pridialplan = local
prilocaldialplan = local
echocancel = yes
overlapdial = no
echocancelwhenbridged=no
echotraining=no
immediate = no
usecallerid = yes
group = 1
context = pbx-trunk
channel => 1-2
usecallingpres=yes
nationalprefix = 0
internationalprefix = 00

;-----------------------------------------------------------------------------
;TE-Karte fuer Anschluss an NTBA/ISDN-Telefonnetz
;-----------------------------------------------------------------------------

; nur eine HFCI Karte installiert!!
; wird stattdessen von der Fritzcard und dem capitreibern+chan_capi-cm übernommen

; 2. Karte
;switchtype = euroisdn
;signalling = bri_cpe_ptmp
;pridialplan = local
;prilocaldialplan = local
;echocancel = yes
;echocancelwhenbridged=no
;echotraining=no
;usecallerid = yes
;overlapdial = no
;immediate = no
;group = 2
;context = tcom-trunk
;channel => 4-5



/etc/zaptel.conf

# hfc-s pci a span definition
# most of the values should be bogus because we are not really zaptel
loadzone=nl
defaultzone=nl

# 1. Karte
span=1,1,3,ccs,ami
bchan=1-2
dchan=3

# 2. Karte (nicht vorhanden!)
#span=2,1,3,ccs,ami
#bchan=4-5
#dchan=6



/etc/asterisk/sip.conf

; Will man nun über seinen Asterisk-Server Gespräche zu einem Provider (z.B. Sipgate) führen,
; sind folgende Eingräge in der sip.conf nötig:

[general]
port = 5060
bindaddr = 0.0.0.0
context = sip-out
qualify=no
localnet = 192.168.1.0/255.255.255.0
;externip = 192.168.1.1
externip = xyz.dyndns.org
disable=all
allow=alaw
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=slinear
srvlookup=yes
canreinvite=yes
language=de
;dsc
register => 626xxxx:p[email protected]/626xxxx

;; not sure:
;tos=0x18
;nat=no
;dtmfmode=info

[sipgate]
type=friend
insecure=very
nat=yes
username=626xxxx
fromuser=626xxxx
fromdomain=sipgate.de
secret=passwort
host=sipgate.de
qualify=yes

;; not sure:
;tos=0x18
;nat=no
;dtmfmode=info


; SIP-Benutzer als Endgerät (xlite) zur Anmeldung am Asterisk-Server:

[1234]
type=friend
username=1234
secret=geheim
host=dynamic
disallow=all
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=sipgate
;callerid="Vorname Nachname" <5555>
qualify=yes
nat=no


/etc/asterisk/extensions.conf

[general]
static=yes
writeprotect=no

; Internes Xlite Endgerät [1234]
; Rufnummer in der extensions.conf zuordnen:

exten => 1234,1,Dial(SIP/${EXTEN},60)
exten => 1234,2,Congestion
exten => 1234,102,Busy

; Eingehende Anrufe von Sipgate werden somit an die Extension 1234 (das eigene lokale SIP-Telefon) vermittelt.
; Will man über Sipgate raustelefonieren, so wählt man die 9 mit der gewünschten Sipgate-Rufnummer dahinter.


; Will man nun über seinen Asterisk-Server Gespräche zu einem Provider (z.B. Sipgate) führen,
; sind folgende Eingräge in der extensions.conf nötig:

[default]
exten => ,1,Dial(SIP/${EXTEN},60)
exten => ,2,Congestion
exten => ,102,Busy

[sipgate]
include => default
exten => _9.,1,Dial(SIP/${EXTEN:1}@sipgate,60)
exten => _9.,2,Congestion
exten => _9.,102,Busy

; ---
; FUTURE: (capi) calls from extern to isdn ntba
; ---

;[globals]
;IAXINFO=guest

;[default]
;include => calls

;[calls]
;exten => 626xxxx,1,Dial(Zap/2/xxxxxx28,60,tT)
;exten => 626xxxx,2,Hangup

;exten => _8.,1,Dial(SIP/${EXTEN:1}@sipgate,60,tT)
;exten => _8.,2,Congestion
;exten => _8.,3,Busy
;exten => _8.,4,Hangup
 
Konnte inzwischen das "Phänomen" mit dem Dialplan selbst lösen:

Habe in der modules.conf den Eintrag von

autoload=no auf yes gesetzt. Allerdings musste ich folgende Module ausklammern:

noload => chan_modem.so
noload => chan_modem_aopen.so
noload => chan_modem_bestdata.so
noload => chan_modem_i4l.so
noload => app_intercom.so

Wo bitte gibt es eine Übersicht, welche Module asterisk grundsätzlich für einen ordnungsgemässen Betrieb benötigt? Welche Module werden eher für den europäischen als für den amerikanischen Telefonbereich verwendet, - insbesondere vor dem Hintergrund der eingesetzten Hardware?

Zusätzlich scheint jetzt zumindest ein Anruf von Xlite zu asterisk zu funktionieren, - die Context Fehlermeldungen beim externen Anruf auf die SIP Telefonnummer bestehen jedoch weiterhin!
 
forumuser-1 schrieb:
; CAPI config (chan_capi-cm)

context=capi-in

Wo ist dieser Context in deiner extensions.conf?
Da springt dein Capi hin. Nicht da also nichts tun sagt asterisk.

/etc/asterisk/zapata.conf

context = pbx-trunk
Auch hier weiss dein Asterisk nicht was tun


/etc/asterisk/sip.conf


context = sip-out

Hier auch wie vor.

Deine extensions.conf hat auch noch einen Satz Fehler drin.

Mein Vorschlag: Nimm ein Device (z.B. SIP) und bring das zum laufen. Dann das nächste.

Mach dir dazu eine spezielle extensions.conf zum probieren, die orginale benennst du um. Wenn ein Teil funktioniert, bau ihn dort ein.
 
Fuer chan_capi-cm version 0.6 ist deine capi.conf nicht korrekt.
Es fehlt eine Sektion, z.B.
[ISDN1]
Schau mal in die capi.conf, die um Paket von chan_capi-cm dabei ist.

Armin
 
Hallo,

vielen Dank für die schnelle wie kompetente Hilfe.

Hätte niemals vermutet, dass das Basteln an einer Telefonanlage unter Asterisk so viel Spass bereiten kann, - hatte früher immer dankend abgewunken, wenn es um Telefonanlagen ging, die nur unzureichend in Netzwerke einzubinden waren, - eben die teuren Black-Boxes namhafter Hersteller.

Habe inzwischen die Konfiguration verändert, und siehe da, sogar mein ISDN-Telefon am zweiten NTBA wurde plötzlich zum Leben erweckt, welches die letzten Bedenken über das zusammengelötete X-Kabel zerstreuen konnte.

Habe gleich ein paar mal die vorkonfigurierte Asterisk Voicebox angerufen... ...einfach genial, was sich da noch alles bewerkstelligen lässt.

Was mir jetzt noch fehlt, ist das Wählen vom ISDN Telefon

[capi-out]

a) in das öffentliche ISDN Telefnnetz
b) zu einer SIP-Nummer (666xxxx)
c) zu einer (extern) SIP-Nummer (01801...)

Vielleicht könnte mir noch mal jemand einen Tipp geben?

VG
Wolfgang


Anbei noch einmal die Dateien:

/etc/asterisk/capi.conf

; CHAN_CAPI-CM
;
; CAPI config
;
;
[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8

;[interfaces] ; outdated from chan_capi-cm version >= 0.6:

[ISDN1]
isdnmode=msn ; 'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
; The driver from AVM for the passive Fritz card only supports PTM (Point-to-Multipoint) "Mehrgeräteanschluss"
; mode: ptmp (point-to-multipoint) or ptp (point-to-point) "Anlagenanschluss"
isdnmode=ptmp
; allow incoming calls to this list of MSNs, * == any
incomingmsn=*
;incomingmsn=xxxxxx29 ; sonja
;incomingmsn=xxxxxx28 ; wolfgang
;incomingmsn=xxxxxx27 ; fax
; capi controller number
controller=1
; dialout group
group=1
; enable/disable software dtmf detection, recommended for AVM cards
softdtmf=on
; accountcode to use in CDRs
accountcode=
; context for incoming calls
context=capi-in
; _VERY_PRIMITIVE_ echo suppression
;echosquelch=1
; EICON DIVA SERVER echo cancelation
;echocancel=yes
;echotail=64

; call group
;callgroup=1
; deflect incoming calls to 12345678 if all B channels are busy
;deflect=12345678
; number of concurrent calls on this controller (2 makes sense for single BRI)
devices => 2

###

/etc/asterisk/sip.conf

[general]
port = 5060
bindaddr = 0.0.0.0
context = default
;context = sip-in
;context = sip-out
qualify=no
localnet = 192.168.1.0/255.255.255.0
;externip = 192.168.1.1
externip = xyz.dyndns.org
disallow=all
allow=alaw
allow=alaw
allow=ulaw
;allow=g729
allow=gsm
allow=slinear
srvlookup=yes
canreinvite=yes
language=de
;dsc
;register => 626yyyy:p[email protected]/626yyyy
;wsc
register => 626xxxx:p[email protected]/626xxxx

;; not sure:
;tos=0x18
;nat=no
dtmfmode=info

[sip-dsc]
type=friend
insecure=very
nat=yes
username=626yyyy
fromuser=626yyyy
fromdomain=sipgate.de
secret=passwort
host=sipgate.de
qualify=yes

;; not sure:
;tos=0x18
;nat=no
;dtmfmode=info

[sipgate]
type=friend
insecure=very
nat=yes
username=626xxxx
fromuser=626xxxx
fromdomain=sipgate.de
secret=passwort
host=sipgate.de
qualify=yes

;; not sure:
;tos=0x18
;nat=no
;dtmfmode=info


; SIP-Benutzer als Endgerät (xlite) zur Anmeldung am Asterisk-Server:

[1234]
type=friend
;insecure=NO
username=1234
secret=geheim
host=dynamic
disallow=all
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=sipgate
;callerid="Vorname1 Nachname1" <5555>
qualify=yes
nat=no

[5678]
type=friend
;insecure=NO
username=5678
secret=geheim
host=dynamic
disallow=all
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=sipgate
;callerid="Vorname2 Nachname2" <6666>
qualify=yes
nat=no

###

/etc/asterisk/extensions.conf

[general]

static=yes
writeprotect=no

[globals]
IAXINFO=guest

[default]
include => sip-in

[sip-in]
; dsc
;exten => 626xxxx,1,Dial(Zap/2/xxxxxx28,60,tT)
;exten => 626xxxx,2,Hangup
; wsc
exten => 626yyyy,1,Dial(Zap/2/xxxxxx28,60,tT)
exten => 626yyyy,2,Hangup

;?????
exten => _8.,1,Dial(SIP/${EXTEN:1}@sipgate,60,tT)
exten => _8.,2,Congestion
exten => _8.,3,Busy
exten => _8.,4,Hangup


;[sip-out]
;...

;[from-sip-to-capi]
;means that the user must have (pre)paid in order to use that service
;...not used at the moment!


;[from-sip-to-sip]
;...

[capi-in]
exten => xxxxxx28,1,Dial(SIP/${EXTEN:1}@sipgate,30,tT)
exten => xxxxxx28,2,Congestion
exten => xxxxxx28,3,Busy
exten => xxxxxx28,4,Hangup

exten => xxxxxx27,1,Dial(SIP/${EXTEN:1}@sipgate,10,tT)
exten => xxxxxx27,2,Congestion
exten => xxxxxx27,3,Dial(Zap/2/xxxxxx28,60,tT)
exten => xxxxxx27,4,Congestion
exten => xxxxxx27,5,Busy
exten => xxxxxx27,6,Hangup

; Create an extension, xxxxxx29, for dialing the Asterisk demo.

exten => xxxxxx29,1,Playback(demo-abouttotry); Let them know what's going on
exten => xxxxxx29,2,Dial(IAX2/[email protected]/s@default) ; Call the Asterisk demo
exten => xxxxxx29,3,Playback(demo-nogo) ; Couldn't connect to the demo site
exten => xxxxxx29,4,Goto(s,6) ; Return to the start over message.

;[capi-out]
;exten => ...
 
Kostenlos!

Statistik des Forums

Themen
248,367
Beiträge
2,289,397
Mitglieder
377,693
Neuestes Mitglied
lodeaerts