Raustelefonieren (manchmal) nicht möglich

vtbs

Neuer User
Mitglied seit
12 Sep 2007
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich hab es geschafft meine Firma komplett auf eine Asterisk-Anlage umzurüsten. Soweit funktioniert alles irgendwie, sogar Faxe. Eine Sache bleibt mir jedoch ein totales Rätsel. Wenn man nach draussen telefonieren will passiert es ziemlich häufig, dass kein Kanal frei ist, obwohl mir Asterisk anzeigt, dass evtl. sogar alle Leitungen frei sind.

Erstmal zu meiner Umgebung:

VIA C7 mit 1GB Speicher
Beronet BN2S0 PCI ISDN Karte
Trixbox 2.2.4
Linux Kernel 2.6.22.6
dazu noch HylaFAX-Server
und als Clients X-Lite und Linksys SPA941 Telefone

Anlagenanschluss mit 2 S0 (nicht DTAG).

Eingerichtet habe ich alles nach den Vorgaben von Beronet:

Konfiguriert habe ich die ISDN-Karte so (misdn-init.conf):
Code:
card=1,0x4
te_ptp=1,2
poll=128
dsp_poll=128
dsp_options=0
dtmfthreshold=100
debug=0

Ist card=1,0x4 richtig für eine BN2S0? Ich habe sowas wie 0x2 im Forum gesehen, was aber nicht von beronet dokumentiert ist.

Dazu noch 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=0



; 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

; 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

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

[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 ourselves
; 
senddtmf=yes

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


;
; here you can define which bearers should be allowed
;
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    - 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

;
; 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
;
;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!)
; 
; default 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=128

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


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

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

[tng]
ports=1,2
context=from-pstn
msns=*

Es soll alles über die Gruppe [tng] laufen. Eingehende Gespräche werden richtig in den Context from-pstn gesetzt. Das scheint soweit richtig zu funktionieren. Der andere Weg allerdings nicht. Der Trunk in FreePBX ist Custom Dial String so eingestellt:

misdn/g:tng/$OUTNUM$

Mit diesem Dialstring kann ich raustelefonieren, auch mit mehreren Kanälen gleichzeitig. Manchmal geht es jedoch gar nicht "all circuits are busy now", auch wenn genügend oder auch alle frei sind. Ein Schema dahinter habe ich nicht erkennen können.

Ich kann es (halbwegs) funktionierend machen, wenn ich die Kanäle direkt anwähle, also zB so:

misdn/2-1/$OUTNUM$

Dann hab ich allerdings nur eine begrenzte Anzahl für Rausgehende.

Was mache ich falsch? Oder liegt's an misdn?


Christian
 
Servus,

kann es sein, dass deine Ports ab und an down sind und erst wieder durch ein einkommendes Gespräch hochkommen. Könnte mir zumindest vorstellen, dass es dann Probleme gibt, eine Portgruppe anzusprechen, bei der kein Port up ist.
Hatte das Problem zwar noch nicht, würde aber spontan in die Richtung denken und vielleicht in der misdn.conf mit dem Parameter pmp_l1_check herumspielen.

Gruß
zeckrich
 
Moin,
die Ports sind sehr häufig down, eigentlich fast immer. Was Du sagst klingt daher sehr plausibel. Ich habe mich bisher zwar darüber gewundert, aber da es ja irgendwie ging (bei Anrufen oder Rausrufen, mit direkter Adressierung) gingen sie ja auf Status UP), hat mich das nicht weiter gewundert.

Ich könnte das Problem also lösen, wenn ich pmp_l1_check ausschalte. Leider ist es schon aus.
Dazu muss ich aber auch noch sagen, dass ich keine Ahnung habe, was es damit auf sich hat.

Christian

hier noch die Config:
Code:
Misdn General-Config:
 -> Version: chan_misdn-0.3.1-rc35
 -> misdn_init: /etc/misdn-init.conf -> debug: 2
 -> tracefile: /var/log/asterisk/misdn.log -> bridging: yes
 -> stop_tone_after_first_digit: yes -> append_digits2exten: yes
 -> dynamic_crypt: no                -> crypt_prefix: **
 -> crypt_keys: test,muh             -> ntdebugflags: 0
 -> ntdebugfile: /var/log/misdn-nt.log

[PORT 1]
 -> name: tng                        -> allowed_bearers: all
 -> far_alerting: no                 -> rxgain: 0
 -> txgain: 0                        -> te_choose_channel: no
 -> pmp_l1_check: no                 -> reject_cause: 16
 -> block_on_alarm: no               -> hdlc: no
 -> context: from-pstn               -> language: de
 -> musicclass: default              -> callerid:
 -> method: standard                 -> dialplan: 0
 -> localdialplan: 0                 -> cpndialplan: 0
 -> nationalprefix: 0                -> internationalprefix: 00
 -> presentation: -1                 -> screen: -1
 -> always_immediate: no             -> nodialtone: no
 -> immediate: no                    -> senddtmf: yes
 -> hold_allowed: no                 -> early_bconnect: yes
 -> incoming_early_audio: no         -> echocancel: 0
 -> need_more_infos: no              -> noautorespond_on_setup: no
 -> overlapdial: 0                   -> nttimeout: no
 -> bridging: yes                    -> jitterbuffer: 4000
 -> jitterbuffer_upper_threshold: 0  -> callgroup:
 -> pickupgroup:                     -> msns: *
 -> ptp: no

[PORT 2]
 -> name: tng                        -> allowed_bearers: all
 -> far_alerting: no                 -> rxgain: 0
 -> txgain: 0                        -> te_choose_channel: no
 -> pmp_l1_check: no                 -> reject_cause: 16
 -> block_on_alarm: no               -> hdlc: no
 -> context: from-pstn               -> language: de
 -> musicclass: default              -> callerid:
 -> method: standard                 -> dialplan: 0
 -> localdialplan: 0                 -> cpndialplan: 0
 -> nationalprefix: 0                -> internationalprefix: 00
 -> presentation: -1                 -> screen: -1
 -> always_immediate: no             -> nodialtone: no
 -> immediate: no                    -> senddtmf: yes
 -> hold_allowed: no                 -> early_bconnect: yes
 -> incoming_early_audio: no         -> echocancel: 0
 -> need_more_infos: no              -> noautorespond_on_setup: no
 -> overlapdial: 0                   -> nttimeout: no
 -> bridging: yes                    -> jitterbuffer: 4000
 -> jitterbuffer_upper_threshold: 0  -> callgroup:
 -> pickupgroup:                     -> msns: *
 
also ich hab grad nochmal live reingeguckt:
Code:
BEGIN STACK_LIST:
  * Port 1 Type TE Prot. PTP L2Link DOWN L1Link:DOWN Blocked:0  Debug:2
  * Port 2 Type TE Prot. PTP L2Link DOWN L1Link:DOWN Blocked:0  Debug:2

So siehts eigentlich fast immer aus. Die Anlage wird ja jetzt ohne Gruppe betrieben, wodurch es irgendwie geht.

Kann es sein, dass das am Provider liegt? Bei uns ist die ISDN-Strecke im Prinzip nur 10 cm lang. Der Provider hat uns ein Gerät bereitgestellt, dass ISDN bereitstellt, aber nach draussen mit SDSL und ATM die Sprache transportiert.
Leider können sie VoIP noch nicht direkt anbieten, daher dieser Umweg.

Christian
 
Mich wundert das hier :
Code:
-> ptp: no
in der Ausgabe von misdn show config von Asterisk.

Ausgabe von misdn.conf und misdn show config passen nicht so richtig zusammen. (bridging)

Bei mir steht z.b.
ptp: yes

Und mein misdn show stacks ist immer so.
Code:
  * Port 1 Type TE Prot. PTP L2Link UP L1Link:UP Blocked:0  Debug:0
  * Port 2 Type TE Prot. PTP L2Link UP L1Link:UP Blocked:0  Debug:0
  * Port 3 Type TE Prot. PTP L2Link UP L1Link:UP Blocked:0  Debug:0
  * Port 4 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0  Debug:0
  * Port 5 Type NT Prot. PMP L2Link UP L1Link:UP Blocked:0  Debug:0

Gruss,

Jörg
 
Das war mir auch schon aufgefallen, macht irgendwie keinen Sinn. Mehr kann ich dazu aber auch nicht sagen.

Momentan behelfe ich mir mit einem Not-Sip-Trunk (über Sipgate), mit der man zumindest raustelefonieren kann, wenn gerade nichts will.
Ansonsten warte ich auf meinen Provider, der den Anschluss demnächst auch auf SIP-Technik basierend anbieten will und ich endlich die ISDN-Karte ausbauen kann.

Momentan habe ich auch nicht viel Zeit, Updates auszuprobieren, ich melde mich aber hier, falls ich Zeit gefunden habe.
 

Neueste Beiträge

Statistik des Forums

Themen
246,191
Beiträge
2,247,581
Mitglieder
373,732
Neuestes Mitglied
Bandit24
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.