Asterisk nimmt nur einen Anruf an

foexle

Neuer User
Mitglied seit
25 Jun 2008
Beiträge
71
Punkte für Reaktionen
0
Punkte
0
Sers Leute,
ich mal wieder, denke das ist ein einfaches Config-problem ... hoffe ich mal :>

Also mein asterisk-server nimmt nur einen anruf an, wenn ich wieder versuche an zu rufen, nimmt er nix an ... dann muss ich den reloaden dann nimmt er wieder einen an ... usw.

weis einer woran das liegen könnte oder mir die einstellunge sagen ? ...
Wenn ihr nähere Infos braucht sagt bescheit.

Besten dank und gruß
 
das ist ein config-Problem. Vielleicht auch nicht. wer kann das schon sagen, ohne, dass du deine config (möglichst vollständig) herausrückst.
Und einen CLI-Mitschnitt, der zeigt, was passiert.

also ich bin gerade dabei meine abschlussarbeit über asterisk telefonieserver etc. zu schreiben und ich benutze mISDN hab absolut keine probleme !

aha... :-Ö

P.S. da wo ich studiert habe, war es üblich, dass man beim Stellen von Fragen nachweist, inwiefern man sich schon mit der Materie beschäftigt hat.
Fragensteller ohne Nachweis der Eigeninitiative waren eher unbeliebt.
 
Zuletzt bearbeitet:
Code:
P[ 0] MGMT: SSTATUS: L1_ACTIVATED 
P[ 1] handle_frm: frm->addr:42000103 frm->prim:3f082
P[ 1] channel with stid:0 for one second still in use!
P[ 1] handle_frm: frm->addr:42000103 frm->prim:30582
P[ 1] set_channel: bc->channel:0 channel:1
P[ 1] I IND :NEW_CHANNEL oad:21 dad:29 pid:4 state:none
P[ 1]  --> channel:1 mode:TE cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:0 rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:1
P[ 1]  --> screen:0 --> pres:0
P[ 1]  --> addr:0 l3id:20017 b_stid:0 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1]  --> bc_state:BCHAN_CLEANED
P[ 1] Chan not existing at the moment bc->l3id:20017 bc:0x81b3864 event:NEW_CHANNEL port:1 channel:1
P[ 1] NO USERUESRINFO
P[ 1]  --> found chan (preselected): 1
P[ 1] set_chan_in_stack: 1
P[ 1] setup_bc: with dsp
P[ 1]  --> Channel is 1
P[ 1]  --> TRANSPARENT Mode
P[ 1] I IND :SETUP oad:21 dad:29 pid:4 state:none
P[ 1]  --> channel:1 mode:TE cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:0 rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:1
P[ 1]  --> screen:0 --> pres:0
P[ 1]  --> addr:50010102 l3id:20017 b_stid:10010100 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1]  --> bc_state:BCHAN_ACTIVATED
P[ 1]  --> Bearer: Speech
P[ 1]  --> Codec: Alaw
P[ 1]  --> Bearer: Speech
P[ 1]  --> Codec: Alaw
P[ 0]  --> * NEW CHANNEL dad:29 oad:21
P[ 1] read_config: Getting Config
P[ 1]  --> CTON: Unknown
P[ 1]  --> EXPORT_PID: pid:4
P[ 1]  --> PRES: Restricted (0)
P[ 1]  --> SCREEN: Unscreened (0)
P[ 1] * Queuing chan 0x81d6fc0
P[ 1] I SEND:PROCEEDING oad:21 dad:29 pid:4
P[ 1]  --> bc_state:BCHAN_ACTIVATED
P[ 1]  --> channel:1 mode:TE cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:0 rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:1
P[ 1]  --> screen:0 --> pres:0
P[ 1]  --> addr:50010102 l3id:20017 b_stid:10010100 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1] Sending msg, prim:30280 addr:41000104 dinfo:20017
P[ 1] GOT SETUP OKI> 
P[ 1] BCHAN: bchan ACT Confirm pid:4
    -- Executing [29@isdn_in:1] AGI("mISDN/1-u2", "Schnittstelle/read_info.php") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/Schnittstelle/read_info.php
AGI Tx >> agi_request: Schnittstelle/read_info.php
AGI Tx >> agi_channel: mISDN/1-u2
P[ 0] MGMT: SSTATUS: L1_ACTIVATED 
AGI Tx >> agi_language: de
AGI Tx >> agi_type: mISDN
AGI Tx >> agi_uniqueid: 1218461254.2
AGI Tx >> agi_callerid: 21
AGI Tx >> agi_calleridname: unknown
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: unknown
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: isdn_in
AGI Tx >> agi_extension: 29
AGI Tx >> agi_priority: 1
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode: 
AGI Tx >> erver*CLI> 
P[ 1] MGMT: SSTATUS: L2_ESTABLISH 
AGI Rx << verbose "AGI Variables:"
  Schnittstelle/read_info.php: AGI Variables:
AGI Tx >> 200 result=1
AGI Rx << verbose "----------------------------------------------"
  Schnittstelle/read_info.php: ----------------------------------------------
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['accountcode']= "
  Schnittstelle/read_info.php: agi['accountcode']= 
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['callerid']= 21"
  Schnittstelle/read_info.php: agi['callerid']= 21
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['calleridname']= unknown"
  Schnittstelle/read_info.php: agi['calleridname']= unknown
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['callingani2']= 0"
  Schnittstelle/read_info.php: agi['callingani2']= 0
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['callingpres']= 0"
  Schnittstelle/read_info.php: agi['callingpres']= 0
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['callingtns']= 0"
  Schnittstelle/read_info.php: agi['callingtns']= 0
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['callington']= 0"
  Schnittstelle/read_info.php: agi['callington']= 0
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['channel']= mISDN/1-u2"
  Schnittstelle/read_info.php: agi['channel']= mISDN/1-u2
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['context']= isdn_in"
  Schnittstelle/read_info.php: agi['context']= isdn_in
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['dnid']= unknown"
  Schnittstelle/read_info.php: agi['dnid']= unknown
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['enhanced']= 0.0"
  Schnittstelle/read_info.php: agi['enhanced']= 0.0
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['extension']= 29"
  Schnittstelle/read_info.php: agi['extension']= 29
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['language']= de"
  Schnittstelle/read_info.php: agi['language']= de
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['priority']= 1"
  Schnittstelle/read_info.php: agi['priority']= 1
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['rdnis']= unknown"
  Schnittstelle/read_info.php: agi['rdnis']= unknown
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['request']= Schnittstelle/read_info.php"
  Schnittstelle/read_info.php: agi['request']= Schnittstelle/read_info.php
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['type']= mISDN"
  Schnittstelle/read_info.php: agi['type']= mISDN
AGI Tx >> 200 result=1
AGI Rx << verbose "agi['uniqueid']= 1218461254.2"
  Schnittstelle/read_info.php: agi['uniqueid']= 1218461254.2
AGI Tx >> 200 result=1
AGI Rx << verbose "----------------------------------------------"
  Schnittstelle/read_info.php: ----------------------------------------------
AGI Tx >> 200 result=1
AGI Rx << "INSERT INTO anruf_log(extension, callerID) VALUES ('21','29')"
AGI Tx >> 510 Invalid or unknown command
    -- AGI Script Schnittstelle/read_info.php completed, returning 0
  == Auto fallthrough, channel 'mISDN/1-u2' status is 'UNKNOWN'
P[ 1] * IND : HANGUP    pid:4 ctx:isdn_in dad:29 oad:21 State:DIALING
P[ 1]  --> l3id:20017
P[ 1]  --> cause:16> 
P[ 1]  --> out_cause:16
P[ 1]  --> state:DIALING
P[ 1] ph_control: c1:2310 c2:12
P[ 1] I SEND:DISCONNECT oad:21 dad:29 pid:4
P[ 1]  --> bc_state:BCHAN_ACTIVATED
P[ 1]  --> channel:1 mode:TE cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:0 rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:1
P[ 1]  --> screen:0 --> pres:0
P[ 1]  --> addr:50010102 l3id:20017 b_stid:10010100 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1] Sending msg, prim:34580 addr:41000104 dinfo:20017
P[ 1]  --> Channel: mISDN/1-u2 hanguped new state:CLEANING
P[ 1] handle_frm: frm->addr:42000103 frm->prim:34d82
P[ 1] I IND :RELEASE oad:21 dad:29 pid:4 state:CLEANING
P[ 1]  --> channel:1 mode:TE cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:0 rnumplan:  cpnnumplan:0
P[ 1]  --> caps:Speech pi:0 keypad: sending_complete:1
P[ 1]  --> screen:0 --> pres:0
P[ 1]  --> addr:50010102 l3id:20017 b_stid:10010100 layer_id:50010180
P[ 1]  --> facility:Fac_None out_facility:Fac_None
P[ 1]  --> bc_state:BCHAN_ACTIVATED
P[ 1] ast_hangup already called, so we have no ast ptr anymore in event(RELEASE)
P[ 1]  --> No need to queue hangup
P[ 1] Cannot hangup chan, no ast
P[ 1] handle_frm: frm->addr:42000103 frm->prim:3f182
P[ 1]  --> lib: RELEASE_CR Ind with l3id:20017
P[ 1]  --> lib: CLEANING UP l3id: 20017
P[ 1] $$$ CLEANUP CALLED pid:4
P[ 1] $$$ Cleaning up bc with stid :10010100 pid:4
P[ 1]  --> ec_disable
P[ 1] Sending Control ECHOCAN_OFF
P[ 1] ph_control: c1:2319 c2:0
P[ 1] empty_chan_in_stack: 1
P[ 1] BCHAN: DeACT Conf pid:4
P[ 1] BCHAN: MGR_DELLAYER|CNF pid:4
P[ 1] MGMT: SSTATUS: L2_RELEASED 
P[ 0] MGMT: SSTATUS: L1_DEACTIVATED

das ist der CLI auszug, wobei darin nun noch die AGI-Debug enthalten ist !

die misdn.conf
Code:
[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=4

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

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

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

; 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


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

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

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

;
; 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]
;
; 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=1
context=isdn_in
msns=*

ich habe mir eigentlich gedacht, das es mit max_incoming zu tun hat, deswegen habe ich das wieder auf -1 gestezt, das es auf default ist und nicht beschrenkt. dann habe ich gedacht, das es mit rx/tx-grain zu tun hat ... aber das ist ja was ganz anders ...

ich hab mir gedacht, das es evtl, mit irgendeinem timeout zu tun hat ? Das wenn ich vorzeitig auflege, die leitung noch offen ist und deswegen kein neuer anruf mehr rein kommt ... aber das kann auch nicht sein, da es 2 b-kanäle gibt ... also müsste wenn es nach der Thesis gehen würde, den 2. b-kanal nutzen ... macht er aber nit ... es ist einfach tot :>

das sind die bisherigen gedankenzüge

greetz
 
Also ich habe nun ein wenig getestet, kann es sein, das wenn ich etwas an einem agi-script ändere er keine anrufe mehr entgegen nimmt ? ... Also ich muss nach jeder änderung ein reload machen ... das komm tmir aber sehr komisch vor, denn asterisk läd die agi-scripte doch nicht im vorhinein schon oder ? Das wäre ziemlich unpraktisch.

Wenn es das nicht ist, was könnte das denn noch sein ?
 
lege dir eine Signatur mit Hard- und Software zu, dann muss man das nicht aus irgendwelchen vorherigen Postings herausfischen oder erraten.

nimm [default] mal komplett aus der misdn.conf raus.
Es sein denn, du bist dir ganz sicher, dass du das alles brauchst.
was passiert in isdn_in im Dialplan?
ganz platt gefragt - ist die Verkabelung und die Hardware ok?
hast du ein SIP-Telefon oder einen SIP-Client, um mal zu testen?

lass den agi-Kram erst mal weg und konzentrier dich auf die Basics.
alles auskommentieren, was nicht unmittelbar nötig ist. Immer nur einzelne Dinge testen, nicht alles auf einmal.
Wald, Bäume.
 
huhu
danke für deine Antwort, also du hast recht, das ich alles mal raus machen könnte :>
Also es ist alles richtig angeschlossen und die AGI-Scripte funktionieren alle. In dem Context isdn_in steht nicht drin ausser das er bei jeder gewählten nummer das AGI-Script aufruft .... was er auch macht und auch richtig verarbeitet :)
Nur das ganze eben nur einmal ... wenn ich dann auflege, schließt asterisk irgenwann die Ports. Wenn ich dann allterdings versuche nocheinmal anzurufen, geht asterisk ga nicht erst dran ... also er öffnet noch nicht mal einen b-kanal nichts.
 
Kostenlos!

Statistik des Forums

Themen
248,856
Beiträge
2,302,974
Mitglieder
378,504
Neuestes Mitglied
Hallo61Hallo