Trixbox 2.8 + mISDN + HFCS-ISDN-Karte im NT-Modus

Staudacher106

Neuer User
Mitglied seit
19 Mai 2010
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hallo!

Ich habe ein Problem mit meinem Trixboxserver. Also ich habe mich schon durchgearbeitet durch diverse Tutorials und es auch soweit geschafft, dass ich von meinem PC-Softphone ein internes ISDN-Telefon anrufen kann und auch normal telefonieren kann. Sobald ich aber den Hörer des ISDN-Fons abhebe oder gar versuche zu wählen, kommt nix. Weder Freizeichen noch der Wahlvorgang selbst :(

Also ich bräuchte dringend Hilfe, sodass ich die ISDN-Fons zum anwählen bzw Gesprächsaufbau verwenden kann.

Im Anschluss ein paar configs sowie die Ausgabe von Asterisk, wenn ich den Hörer am ISDN-Telefon abhebe.

ASTERISK DEBUG OUTPUT - ISDN
Code:
P[ 1] % GOT L2 Activate Info.
P[ 1] channel with stid:0 not in use!
P[ 1]  --> new_process: New L3Id: 10042
P[ 1] set_channel: bc->channel:0 channel:-1
P[ 1] NO USERUESRINFO
P[ 1]  --> found chan: 1
P[ 1] set_chan_in_stack: 1
P[ 1] I IND :SETUP oad:106 dad: pid:11 state:none
P[ 1]  --> channel:1 mode:NT cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:  rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:0
P[ 1]  --> screen:0 --> pres:1
P[ 1]  --> addr:50010102 l3id:10042 b_stid:0 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1]  --> bc_state:BCHAN_CLEANED
P[ 1]  --> Bearer: Speech
P[ 1]  --> Codec: Alaw
P[ 0]  --> * NEW CHANNEL dad: oad:106
P[ 1] read_config: Getting Config
P[ 1]  --> CTON: Unknown
P[ 1]  --> EXPORT_PID: pid:11
P[ 1]  --> PRES: Restricted (1)
P[ 1]  --> SCREEN: Unscreened (0)
P[ 1] * Queuing chan 0xa0bca80
P[ 1] ph_control: c1:2310 c2:12
P[ 1] I SEND:RELEASE_COMPLETE oad:106 dad: pid:11
P[ 1]  --> bc_state:BCHAN_CLEANED
P[ 1]  --> channel:1 mode:NT cause:16 ocause:1 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:  rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:0
P[ 1]  --> screen:0 --> pres:1
P[ 1]  --> addr:50010102 l3id:10042 b_stid:0 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1]  --> CC_RELEASE_CR: Faking Release_cr for 41000101 l3id:10042
P[ 1]  --> lib: RELEASE_CR Ind with l3id:10042
P[ 1]  --> lib: CLEANING UP l3id: 10042
P[ 1]  --> hangup
P[ 1] * IND : HANGUP    pid:11 ctx:intern dad: oad:106 State:EXTCANTMATCH
P[ 1]  --> l3id:10042
P[ 1]  --> cause:16
P[ 1]  --> out_cause:16
P[ 1]  --> Channel: mISDN/1-u9 hungup new state:CLEANING
P[ 1] $$$ CLEANUP CALLED pid:11
P[ 1] empty_chan_in_stack: 1
P[ 0] handle_bchan: BC not found for prim:281 with addr:51010102 dinfo:0
P[ 0] handle_bchan: BC not found for prim:120281 with addr:51010102 dinfo:0
P[ 1] % GOT L2 DeActivate Info.

/etc/misdn-init.conf
Code:
#
# Configuration file for your misdn hardware
#
# Usage: /usr/sbin/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
#			     If you have a set of cards, all wired via PCM. Set 
#			     all cards into pcm_slave mode and leave one out.
#			     The left card will automatically be Master.
#
#		ignore_pcm_frameclock	- this can be set in conjunction with
#					pcm_slave. If this card has a  
#					PCI Bus Position before the Position 
#					of the Master, then this port cannot
#					yet receive a frameclock, so it must
#					ignore the pcm frameclock.
#					 
#		rxclock    - use clocking for pcm from ST Port
#		crystalclock - use clocking for pcm from PLL (genrated on board)
#		watchdog   - This dual E1 Board has a Watchdog for 
#			     transparent mode
#
#
card=1,hfcpci

#
# 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
#
nt_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)
#
# The master_clock option is essential for retrieving and transmitting
# faxes to avoid failures during transmission. It tells the driver to 
# synchronize the Card with the given Port which should be a TE Port and
# connected to the PSTN in general.
#
#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.
#
# dsp_poll=<number>
#	This is the poll option which is used by mISDN_dsp, this might 
# 	differ from the one given by poll= for the hfc based cards, since
# 	they can only use multiples of 32, the dsp_poll is dependant on 
#	the kernel timer setting which can be found in the CPU section
#	in the kernel config. Defaults are there either 100Hz, 250Hz 
#	or 1000Hz. If your setting is either 1000 or 250 it is compatible
#	with the poll option for the hfc chips, if you have 100 it is 
#	different and you need here a multiple of 80.
#	The default is to have no dsp_poll option, then the dsp itself
#	finds out which option is the best to use by itself
#
# 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.
#
# debug=<number>
#
#        Enable debugging (see hfc_multi.h for debug options).
#
# dsp_options=<number>
#  
#	set this to 2 and you'll have software bridging instead of 
#	hardware bridging.
# 
#
# dtmfthreshold=<milliseconds>
#
#	Here you can tune the sensitivity of the dtmf tone recognizer.
#
# timer=<1|0>
# 
#	set this to 1 if you want hfcmulti to register at ztdummy (zaptel) 
#	and provide a 1khz timing source for it. This makes it possible
#	to have an accurate timing source for asterisk through zaptel from
#	hfcmulti to make applications like Meetme and faxing between wctdm
#	and hfcmulti work properly.
#
poll=128
dsp_poll=128
dsp_options=0
dtmfthreshold=100
debug=0

/etc/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



; set debugging file and flags for mISDNuser (NT-Stack) 
; 
; flags can be or'ed with the following values:
;
; DBGM_NET        0x00000001
; DBGM_MSG        0x00000002
; DBGM_FSM        0x00000004
; DBGM_TEI        0x00000010
; DBGM_L2         0x00000020
; DBGM_L3         0x00000040
; DBGM_L3DATA     0x00000080
; DBGM_BC         0x00000100
; DBGM_TONE       0x00000200
; DBGM_BCDATA     0x00000400
; DBGM_MAN        0x00001000
; DBGM_APPL       0x00002000
; DBGM_ISDN       0x00004000
; DBGM_SOCK       0x00010000
; DBGM_CONN       0x00020000
; DBGM_CDATA      0x00040000
; DBGM_DDATA      0x00080000
; DBGM_SOUND      0x00100000
; DBGM_SDATA      0x00200000
; DBGM_TOPLEVEL   0x40000000
; DBGM_ALL        0xffffffff
;

ntdebugflags=0
ntdebugfile=/var/log/misdn-nt.log


; some pbx systems do cut the L1 for some milliseconds, to avoid 
; dropping running calls, we can set this flag to yes and tell
; mISDNuser not to drop the calls on L2_RELEASE
ntkeepcalls=no

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


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


;
; watches the L1s of every port. If one l1 is down it tries to 
; get it up. The timeout is given in seconds. with 0 as value it
; does not watch the l1 at all
; 
; default value: 0
;
; this option is only read at loading time of chan_misdn, 
; which means you need to unload and load chan_misdn to change the 
; value, an asterisk restart should do the trick
; 
l1watcher_timeout=0

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

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

;;; CRYPTION STUFF

; Whether 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 sections 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.
;

;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes              ; Enables the use of a jitterbuffer on the receiving side of a
                              ; SIP channel. Defaults to "no". An enabled jitterbuffer will
                              ; be used only if the sending side can create and the receiving
                              ; side can not accept jitter. The SIP channel can accept jitter,
                              ; thus a jitterbuffer on the receive SIP side will be used only
                              ; if it is forced and enabled.

; jbforce = no                ; Forces the use of a jitterbuffer on the receive side of a SIP
                              ; channel. Defaults to "no".

; jbmaxsize = 200             ; Max length of the jitterbuffer in milliseconds.

; jbresyncthreshold = 1000    ; Jump in the frame timestamps over which the jitterbuffer is
                              ; resynchronized. Useful to improve the quality of the voice, with
                              ; big jumps in/broken timestamps, usually sent from exotic devices
                              ; and programs. Defaults to 1000.

; jbimpl = fixed              ; Jitterbuffer implementation, used on the receiving side of a SIP
                              ; channel. Two implementations are currently available - "fixed"
                              ; (with size always equals to jbmaxsize) and "adaptive" (with
                              ; variable size, actually the new jb of IAX2). Defaults to fixed.

; jbtargetextra = 40          ; This option only affects the jb when 'jbimpl = adaptive' is set.
                              ; The option represents the number of milliseconds by which the new
                              ; jitter buffer will pad its size. the default is 40, so without
                              ; modification, the new jitter buffer will set its size to the jitter
                              ; value plus 40 milliseconds. increasing this value may help if your
                              ; network normally has low jitter, but occasionally has spikes.

; jblog = no                  ; Enables jitterbuffer frame logging. Defaults to "no".
;-----------------------------------------------------------------------------------

[default]

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

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

;
; sets the musiconhold class
;
musicclass=default

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

;
; If we should generate Ringing for chan_sip and others
;
far_alerting=no


;
; Here you can list which bearer capabilities should be allowed:
;   all                  - allow any bearer capability
;   speech               - allow speech
;   3_1khz               - allow 3.1KHz audio
;   digital_unrestricted - allow unrestricted digital
;   digital_restricted   - allow restricted digital
;   video                - allow video
;
; Example:
; allowed_bearers=speech,3_1khz
;
allowed_bearers=all

; 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 especially 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 making 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: no
;
pmp_l1_check=no


;
; in PMP this option defines which cause should be sent out to 
; the 3. caller. chan_misdn does not support callwaiting on TE
; PMP side. This allows to modify the RELEASE_COMPLETE cause 
; at least.
;
reject_cause=16


;
; 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 this to yes if you want to disconnect calls when a timeout occurs
; for example during the overlapdial phase
;
nttimeout=no

; Set the method to use for channel selection:
;   standard     - Use the first free channel starting from the lowest number.
;   standard_dec - Use the first free channel starting from the highest 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


; specify if chan_misdn should collect digits before going into the 
; dialplan, you can choose yes=4 Seconds, no, or specify the amount
; of seconds you need;
; 
overlapdial=yes

;
; 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

;
; set this to yes if you want to generate your own dialtone 
; with always_immediate=yes, else chan_misdn generates the dialtone
;
; default value: no
;
nodialtone=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
;
; default values: not set = 0
; range: 0-63
;
;callgroup=1
;pickupgroup=1


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

; This enables echo cancellation with the given number of taps.
; Be aware: Move this setting only to outgoing portgroups!
; A value of zero turns echo cancellation off.
;
; possible values are: 0,32,64,128,256,yes(=128),no(=0)
;
; default value: no
;
;echocancel=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


;
; change this to yes, if you want to bridge a mISDN data channel to 
; another channel type or to an application.
;
hdlc=no


;
; defines the maximum amount of incoming calls per port for
; this group. Calls which exceed the maximum will be marked with 
; the channel variable MAX_OVERFLOW. It will contain the amount of 
; overflowed calls
;
max_incoming=-1

;
; defines the maximum amount of outgoing calls per port for this group
; exceeding calls will be rejected
;
max_outgoing=-1

[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=intern
msns=*

;[internPP]
;
; adding the postfix 'ptp' to a port number is obsolete now, chan_misdn
; parses /etc/misdn-init.conf and sets the ptp mode to the corresponding
; configs. For backwards compatibility you can still set ptp here.
;
;ports=3
	
;[first_extern]
; again port defs
;ports=4
; again a context for incoming calls
;context=Extern1
; msns for te ports, listen on those numbers on the above ports, and 
; indicate the incoming calls to asterisk
; here you can give a comma separated list or simply an '*' for 
; any msn. 
;msns=*

; here an example with given msns
;[second_extern]
;ports=5
;context=Extern2
;callerid=15
;msns=102,144,101,104
 
Kennt sich da niemand aus ?? :(

Oder kann mir vielleicht jemand Alternativen bieten, die verlässlich funktionieren ?!?
 
Hallo,

mit dem ISDN-Log kann ich nichts anfangen, weil ich mich mit dem ISDN-Protokoll nicht auskenne. Die Config schaut soweit gut aus, ist ja größten Teils unverändert das sample. mISDN Module sind alle geladen (vermutlich übers rc Script)?

ISDN-Crossover-Kabel hast Du Dir gebastelt? Hat das Telefon eine eigene Stromversorgung, oder hast Du einen NTBA zur Einspeisung dazwischen?

Svenja
 
Hallo!

Danke für die Antwort!
Es war soweit auch meine Intuition, die Config so weit wie möglich unverändert zu lassen, damit es auch funktioniert und nicht irgendwelche Experimente meinerseits das System lahmlegen.

Habe auch soweit des öfteren versucht die mISDN Module zu reloaden - leider ohne Erfolg :(

Crossover Kabel ist auch soweit gebastelt und mit dem NTBA zur Stromversorgung verbunden.


Also für mich nach wie vor ein großes Rätsel :(
 
jetzt weiss ich zwar nicht was eine 'Trixbox 2.8' ist. Aber spricht was dagegen chan_lcr zu nehmen?

http://www.ip-phone-forum.de/showpost.php?p=1556482&postcount=12

=> ist die derzeit wohl aktuellste Moeglichkeit mISDN zusammen mit Asterisk einzusetzen. Laeuft hier ohne Probleme produktiv im NT Mode (siehe Sig)

- sparkie
 
Hallo Sparkie,

soweit ich weiß ist in der Trixbox 2.8 bereits mISDN-1.1.9 mit chan_misdn drin.

Das Teil läuft mit CentOS 5.5, was wiederum auf 2.6.18 aufsetzt. Da wird nichts aus mISDN v2.

Svenja
 
Hi Svenja

soweit ich weiß ist in der Trixbox 2.8 bereits mISDN-1.1.9 mit chan_misdn drin.

Das Teil läuft mit CentOS 5.5, was wiederum auf 2.6.18 aufsetzt. Da wird nichts aus mISDN v2.

ok verstehe - danke fuer die Erleuchtung:)

...da kann ich dann leider nichts weiter zum Thema beitragen. Ist schon schade, wenn man so sehr an bestimmte Software gefesselt ist.

- sparkie
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
246,295
Beiträge
2,249,593
Mitglieder
373,893
Neuestes Mitglied
Kukkatto
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.