Asterisk + mISDN startet nicht

Nightman28

Neuer User
Mitglied seit
10 Dez 2005
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
Hallo Ihr

und wieder jemand der einige Probleme beim mISDN hat :)

Ich bekomme alle Module kompikliert (aktueller install_misdn von heute morgen) aber irgendwie läd Asterisk das Modul nicht. misdn-init scan findet die Karte und erzeugt auch passend die Config Datei dafür. Die Karte wird beim starten des misdn-init auch geladen. Sieht so ganz gut aus. Allerdings will Asterisk nicht das mISDN Modul laden. Wäre nett wenn mir jemand helfen kann.

Hier mal meine aktuellen Konfigdaten

Debian 3.1
Aktueller Kernel: 2.6.15.6
mISDN Installer von heute morgen 15.03.06

Hardware:
Pentium 700
128 MB RAM
Fritz Card PCI 2.0 (angeschlossen an eine Alcatel Anlage mit MSN Anschluss)
Intern sind dann SNOM Sip Phones angeschlossen

Fehler im Asterisk Log wenn ich versuche das Modul zu laden.
Code:
Mar 15 09:02:34 VERBOSE[13376] logger.c:  Loaded /usr/lib/asterisk/modules/chan_misdn.so => (Channel driver for mISDN Support (Bri/Pri))
Mar 15 09:02:34 ERROR[13376] chan_misdn.c: Unable to initialize mISDN
Mar 15 09:02:34 WARNING[13376] loader.c: chan_misdn.so: load_module failed, returning -1
Mar 15 09:02:34 VERBOSE[13376] chan_misdn.c: -- Unregistering mISDN Channel Driver --

misdn-init.conf:
Code:
#
# Configuration file for your misdn hardware
#
# Usage: /etc/init.d/misdn-init start|stop|restart|config|scan|help
#

#
# Card Settings
#
# Syntax: card=<number>,<type>[,<option>...]
#
#    <number>   count your cards beginning with 1
#    <type>     either 0x1,0x4 or 0x8 for your hfcmulti hardware,
#               or the name of your card driver module.
#    <option>   ulaw       - uLaw (instead of aLaw)
#               dtmf       - enable DTMF detection on all B-channels
#               pcm_slave  - set PCM bus into slave mode
#               ignore_pcm_frameclock   - this E1 is NT without PCM frame
#                                         clock
#
#
card=1,avmfritz

#
# Port settings
#
# Syntax: <port_type>=<port_number>[,<port_number>...]
#
#    <port_type>    te_ptp              - TE-Mode, PTP
#                   te_ptmp             - TE-Mode, PTMP
#                   te_capi_ptp         - TE-Mode (capi), PTP
#                   te_capi_ptmp        - TE-Mode (capi), PTMP
#                   nt_ptp              - NT-Mode, PTP
#                   nt_ptmp             - NT-Mode, PTMP
#    <port_number>  port that should be considered
#
te_ptmp=1

#
# Port Options
#
# Syntax: option=<port_number>,<option>[,<option>...]
#
#    <option>  master_clock  - use master clock for this S/T interface
#                              (only once per chip, only for HFC 8/4)
#              optical       - optical (only HFC-E1)
#              los           - report LOS (only HFC-E1)
#              ais           - report AIS (only HFC-E1)
#              slip          - report SLIP (only HFC-E1)
#              nocrc4        - turn off crc4 mode use double frame instead
#                               (only HFC-E1)
#
#option=1,master_clock
#option=2,ais,nocrc4
#option=3,optical,los,ais,slip


#
# General Options for your hfcmulti hardware
#
# poll=<number>
#
#        Only one poll value must be given for all cards.
#        Give the number of samples for each fifo process.
#        By default 128 is used. Decrease to reduce delay, increase to
#        reduce cpu load. If unsure, don't mess with it!!!
#        Valid is 32, 64, 128, 256.
#
# pcm=<number>
#
#        Give the id of the PCM bus. All PCM busses with the same ID
#        are expected to be connected and have equal slots.
#        Only one chip of the PCM bus must be master, the others slave.
#        -1 means no support of PCM bus, but the usage of software bridging.
#
# debug=<number>
#
#        Enable debugging (see hfc_multi.h for debug options).
#
poll=128
pcm=-1
debug=0

Asterisk misdn.conf:
Code:
;
; chan_misdn sample config
;

; general section:
;
; for debugging and general setup, things that are not bound to port groups ;

[general]
;
; Sets the Path to the misdn-init.conf (for nt_ptp mode checking) ; misdn_init=/etc/misdn-init.conf

; set debugging flag:
;   0 - No Debug
;   1 - mISDN Messages and * - Messages, and * - State changes
;   2 - Messages + Message specific Informations (e.g. bearer capability)
;   3 - very Verbose, the above + lots of Driver specific infos
;   4 - even more Verbose than 3
;
; default value: 0
;
debug=4


; the big trace
;
; default value: [not set]
;
;tracefile=/var/log/misdn.trace

; single call trace files
; set to true if you want to have them
; they depend on debug level
;
; default values: trace_calls : false
;                 trace_dir   : /var/log/
;
trace_calls=false
trace_dir=/var/log/

; set to yes if you want mISDN_dsp to bridge the calls in HW ; ; default value: yes ; bridging=no

; stops dialtone after getting first digit on nt Port ; ; default value: yes ; stop_tone_after_first_digit=yes

; wether to append overlapdialed Digits to Extension or not ; ; default value: yes ; append_digits2exten=yes

;;; CRYPTION STUFF

; Wether to look for dynamic crypting attempt ; ; default value: no ; dynamic_crypt=no

; crypt_prefix, what is used for crypting Protocol ; ; default value: [not set] ;
crypt_prefix=**

; Keys for cryption, you reference them in the dialplan ; later also in dynamic encr.
;
; default value: [not set]
;
crypt_keys=test,muh

; users sections:
;
; name your sections as you which but not "general" !
; the secions are Groups, you can dial out in extensions.conf ; with Dial(mISDN/g:extern/101) where extern is a section name, ; chan_misdn tries every port in this section to find a ; new free channel ;

; The default section is not a group section, it just contains config elements ; which are inherited by group sections.
;

[default]

; define your default context here
;
; default value: default
;
context=misdn

; language
;
; default value: en
;
language=de

;
; sets the musiconhold class
;
musicclass=default

;
; Either if we should produce DTMF Tones ourselve ; senddtmf=yes

; Prefixes for national and international, those are put before the ; oad if an according dialplan is set by the other end.
;
; default values: nationalprefix      : 0
;                 internationalprefix : 00
;
nationalprefix=0
internationalprefix=00

; set rx/tx gains between -8 and 8 to change the RX/TX Gain ; ; default values: rxgain: 0
;                 txgain: 0
;
rxgain=0
txgain=0

; some telcos espacially in NL seem to need this set to yes, also in ; switzerland this seems to be important ; ; default value: no ; te_choose_channel=no



;
; This option defines, if chan_misdn should check the L1 on  a PMP ; before makeing a group call on it. The L1 may go down for PMP Ports ; so we might need this.
; But be aware! a broken or plugged off cable might be used for a group call ; as well, since chan_misdn has no chance to distinguish if the L1 is down ; because of a lost Link or because the Provider shut it down...
;
; default: yes
;
pmp_l1_check=yes

;
; Send Setup_Acknowledge on incoming calls anyway (instead of PROCEEDING), ; this requests additional Infos, so we can waitfordigits ; without much issues. This works only for PTP Ports ; ; default value: no ; need_more_infos=no

; set the method to use for channel selection:
;   standard    - always choose the first free channel with the lowest 
number
;   round_robin - use the round robin algorithm to select a channel. use 
this
;                 if you want to balance your load.
;
; default value: standard
;
method=standard

;
; dialplan means Type Of Number in ISDN Terms (for outgoing calls) ; ; there are different types of the dialplan:
;
; dialplan -> outgoing Number
; localdialplan -> callerid
; cpndialplan -> connected party number
;
; dialplan options:
;
; 0 - unknown
; 1 - International
; 2 - National
; 4 - Subscriber
;
; This setting is used for outgoing calls ; ; default value: 0 ; dialplan=0 localdialplan=0 cpndialplan=0



;
; turn this to no if you don't mind correct handling of Progress Indicators ; early_bconnect=yes


;
; turn this on if you like to send Tone Indications to a Incoming
; isdn channel on a TE Port. Rarely used, only if the Telco allows
; you to send indications by yourself, normally the Telco sends the
; indications to the remote party.
;
; default: no
;
incoming_early_audio=no

; uncomment the following to get into s extension at extension conf
; there you can use DigitTimeout if you can't or don't want to use
; isdn overlap dial.
; note: This will jump into the s exten for every exten!
;
; default value: no
;
;always_immediate=no

; uncomment the following if you want callers which called exactly the
; base number (so no extension is set) jump to the s extension.
; if the user dials something more it jumps to the correct extension
; instead
;
; default value: no
;
;immediate=no

; uncomment the following to have hold and retrieve support
;
; default value: no
;
;hold_allowed=yes

; Pickup and Callgroup
;
; deafult values: not set = 0
;
;callgroup=1
;pickupgroup=1


;
; these are the exact isdn screening and presentation indicators
; if -1 is given for both values the presentation indicators are used
; from asterisks SetCallerPres application.
; s=0, p=0 -> callerid presented not screened
; s=1, p=1 -> callerid presented but screened (the remote end does not see 
it!)
;
; defaule values s=-1, p=-1
presentation=-1
screen=-1

; this enables echocancellation, with the given number of taps
; be aware, move this setting only to outgoing portgroups!
; A value of zero turns echocancellation off.
;
; possible values are: 0,32,64,128,256,yes(=128),no(=0)
;
; default value: no
;
;echocancel=no

; this disables echocancellation when the call is bridged between
; mISDN channels
;
; default value: no
;
echocancelwhenbridged=no

; Set this to no to disable echotraining. You can enter a number > 10
; the value is a multiple of 0.125 ms.
;
; default value: no
; yes = 2000
; no = 0
;
echotraining=no

;
; chan_misdns jitterbuffer, default 4000
;
jitterbuffer=4000

;
; change this threshold to enable dejitter functionality
;
jitterbuffer_upper_threshold=0


[intern]
; define your ports, e.g. 1,2 (depends on mISDN-driver loading order)
ports=1
; context where to go to when incoming Call on one of the above ports
context=extern_isdn

misd-init scan:
Code:
open-pbx:/etc# /etc/init.d/misdn-init scan
[OK] found the following devices:
card=1,avmfritz
[ii] run "/etc/init.d/misdn-init config" to store this information to /etc/misdn-init.conf

Auszug aus dem DMESG:
Code:
Modular ISDN Stack core $Revision: 1.26 $
mISDNd: kernel daemon started
ISDN L1 driver version 1.12
ISDN L2 driver version 1.21
mISDNd: test event done
mISDN: DSS1 Rev. 1.31
mISDN_dsp: Audio DSP  Rev. 1.12 (debug=0x0) EchoCancellor MG2
mISDN_dsp: DSP clocks every 64 samples. This equals 2 jiffies.
mISDN Capi 2.0 driver file version 1.15
ISAC module $Revision: 1.17 $
AVM Fritz PCI/PnP driver Rev. 1.31
PCI: Found IRQ 5 for device 0000:00:0b.0
PCI: Sharing IRQ 5 with 0000:00:0c.1
mISDN_fcpcipnp: found adapter Fritz!Card PCI at 0000:00:0b.0
fritz card c44f3800 dch c44f3868 bch1 c44f39e8 bch2 c44f3b68
AVM PCI: stat 0x7020a
AVM PCI: Class A Rev 2
AVM PnP: HDLC version 1
mISDN: AVM Fritz!PCI config irq:5 base:0xDC00
AVM PCI/PnP: reset
AVM PCI/PnP: S0/S1 7/0
Fritz1 ISAC STAR 48
Fritz1 ISAC MODE 0
Fritz1 ISAC ADF2 0
Fritz1 ISAC ISTA 0
Fritz1 ISAC CIR0 7c
mISDN_isac_init: ISAC version (0): 2086/2186 V1.1
Fritz1 HDLC 1 STA 81000000
Fritz1 HDLC 2 STA 0
kcapi: Controller 1: mISDN1 attached
contr->addr(01) cnr(01) st(00000100)
l1_manager prim f1482 not handled
mISDNStackd started for id(00000100)
mISDNStackd started for id(10010100)
mISDNStackd started for id(10020100)
AVM Fritz!PCI: IRQ 5 count 3
fritz 1 cards installed
release instance class dev inst-50010100
release instance class dev inst-50010101
release instance class dev inst-50010100
release instance class dev inst-50010101
release instance class dev inst-50010100
release instance class dev inst-50010101
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
release instance class dev inst-50010100
kcapi: card 1 "mISDN1" ready.

mISDN ist nicht im Kernel gepacht. Hatte ich zwar gestern Abend mal hab ich aber wieder komplett raus genommen.

Vielen Dank für Eure Hilfe im Voraus.

Gruß
Marco
 
Kleiner Nachtrag

mISDN: INTERNAL ERROR in /usr/src/install-misdn-mqueue/mqueue-misdn/mISDN/drivers/isdn/hardware/mISDN/stack.c:1184

Den Fehler bekomme ich beim Dmesg

Gruß
Marco
 
Ein Problem ist, dass deine Fritzcard vom Capi benutzt wird und chan_misdn sie deshalb nicht mehr öffnen kann. Also bitte die Capi Module raus.
 
Hmmm.. okay werd ich mal schauen. hatte gestern schon mal das komplette lib/modules/kernel* verzeichnis gelöscht und den kernel neu erstellt. Aber möglich das die FritzCard da noch irgendwo drin hängt. ich mach mich mal auf die suche und berichte..

schon mal danke.
 
Also ich habs :) Noch etwas den Capi kram aufgeräumt und schon startet asterisk mit dem Modul. Obwohl er immer sagt Link down.. komisch oder ? egal ob an einem ddi oder msn anschluss...
 
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.