Bekomme sirrix PCI4S0 mit Ubuntu 8.04 nicht zum laufen

liberavia

Neuer User
Mitglied seit
12 Mai 2008
Beiträge
92
Punkte für Reaktionen
0
Punkte
0
Hi,

Habe die o. g. Karte zum Testen bekommen. Das Preis/ Leistungsverhältnis ist auf jeden Fall beachtlich, so dass ich diese Karte unbedingt ausprobieren wollte.

Als OS kommt Ubuntu 8.04 mit dem Asterisk 1.4.17 aus den Paketquellen zum Einsatz.

Das Kompilieren und Installieren des Treibers klappte soweit ganz gut. Ausnahme: Beim Kompilieren des PCI-Treiber/Channel-Treiber-Moduls musste ich mir zusätzlich die Sourcecode-Version von Asterisk 1.4.17 besorgen und dann das Include-Verzeichnis austauschen. Erst danach lief das Kompilieren fehlerfrei durch.

Die Module sind also geladen:
Code:
root@tkadmin-desktop:/home/tkadmin# lsmod | grep sirrix
sirrix_bch             18468  6 
sirrix_pfic            39232  4 
sirrix_base            61668  10 sirrix_bch,sirrix_pfic
root@tkadmin-desktop:/home/tkadmin# lspci | grep Sirrix
00:09.0 ISDN controller: Sirrix AG security technologies Sirrix.PCI4S0 4-port ISDN S0 interface (rev 03)

Auch der Channeltreiber ist bei mir verfügbar. Ich hab ein Cross-Cable angeschlossen und die Port-LED leuchtet.

Angeschlossen ist mein Asterisk an den S0-Bus einer Integral 5 ISDN-Telefonanlage ( Der Asterisk agiert sozusagen als Unteranlage). Eine Abbildung des Anlagenaufbaus kann man in einem früheren Beirag zum Test mit einer Fritz-Karte anschauen:
http://www.ip-phone-forum.de/showthread.php?t=169330

So sieht es aus, wenn ich srx neulade:
Code:
*CLI> srx reload
[Jul  4 13:34:15] WARNING[7157]: chan_sirrix.cpp:6194 srx_reload_module: Reload of Sirrix driver configuration will take about 2 seconds!
[Jul  4 13:34:15] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0000 as sync
[Jul  4 13:34:15] NOTICE[7169]: Kernel.cpp:699 fromKernelToPort: L1M1_SHUTDOWN|CONFIRM for port 0000
[Jul  4 13:34:15] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0001 as sync
[Jul  4 13:34:15] NOTICE[7169]: Kernel.cpp:699 fromKernelToPort: L1M1_SHUTDOWN|CONFIRM for port 0001
[Jul  4 13:34:15] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0002 as sync
[Jul  4 13:34:15] NOTICE[7169]: Kernel.cpp:699 fromKernelToPort: L1M1_SHUTDOWN|CONFIRM for port 0002
[Jul  4 13:34:15] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0003 as sync
[Jul  4 13:34:15] NOTICE[7169]: Kernel.cpp:699 fromKernelToPort: L1M1_SHUTDOWN|CONFIRM for port 0003
  == Parsing '/etc/asterisk/sirrix.conf': Found
[Jul  4 13:34:17] WARNING[7157]: chan_sirrix_config.cpp:903 build_group: Group 'demo': providetones can only be set for mode = TE!
[Jul  4 13:34:17] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0000 as sync
[Jul  4 13:34:17] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0001 as sync
[Jul  4 13:34:17] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0002 as sync
[Jul  4 13:34:17] NOTICE[7157]: Port.cpp:109 syncDisallow: Disallowing port=0003 as sync
[Jul  4 13:34:17] NOTICE[7157]: chan_sirrix.cpp:6207 srx_reload_module: Sirrix driver configuration reloaded!
*CLI> [Jul  4 13:34:18] NOTICE[7169]: Kernel.cpp:717 fromKernelToPort: L1M1_STARTUP|CONFIRM for port 0000
[Jul  4 13:34:18] NOTICE[7169]: Kernel.cpp:717 fromKernelToPort: L1M1_STARTUP|CONFIRM for port 0001
[Jul  4 13:34:18] NOTICE[7169]: Kernel.cpp:717 fromKernelToPort: L1M1_STARTUP|CONFIRM for port 0002
[Jul  4 13:34:18] NOTICE[7169]: Kernel.cpp:717 fromKernelToPort: L1M1_STARTUP|CONFIRM for port 0003

Ein eingehender Anruf von der MSN 19 der ISDN-Anlage:

Code:
*CLI> 
*CLI> [Jul  4 13:35:45] NOTICE[7204]: chan_sirrix.cpp:3003 cc_handle_setup_indication: group 'demo': unallocated/unassigned number 16@incoming

Möchte ich mit einem SIP-Phone in die ISDN-Anlage reintelefonieren, dann sieht das bei mir so aus:

Code:
*CLI> 
*CLI>     -- Executing [011@telefone:1] Dial("SIP/12-081ff0d8", "Srx/gdemo/11") in new stack
    -- Called gdemo/11
[Jul  4 13:36:04] WARNING[7208]: channel.c:3433 ast_channel_make_compatible: No path to translate from Srx/gdemo-0x81d7918(0) to SIP/12-081ff0d8(4)
  == Everyone is busy/congested at this time (1:0/0/1)
  == Auto fallthrough, channel 'SIP/12-081ff0d8' status is 'CHANUNAVAIL'

*CLI>

Hier meine sirrix.conf auf basis des mitgelieferten Samples:
Code:
; =======================================
; Sirrix AG 4xS0 PCI Card (Sirrix.PCI4S0)
;  Asterisk Channel Driver Configuration
; =======================================
; 
; DATE:   20061101
; AUTHOR: Oskar Senft, Sirrix AG
; 
; If you encounter any problem during the
; installation, feel free to contact us
; at http://www.sirrix.de
; 
; =======================================

; The sirrix.conf configuration file (usually in /etc/asterisk) 
; is organized in groups of settings. Each group is defined by
; its groupname (arbitrary) and contains one or more settings
; for that group.

; For more information, see
; sirrix-pci/asterisk/examples/README.config

; Information about Asterisk and the Sirrix.PCI4S0
; can also be found at
; http://www.voip-info.org/tiki-index.php?page=Asterisk+Sirrix+ISDN+channels


[Global]                 ; keyword for global settings

; prefix for ISDN IE Calling PN with number 
; type "international" 
internationalprefix = 00 ; (setting for Germany and default)

; prefix for ISDN IE Calling PN with number 
; type "national"
nationalprefix = 0       ; (setting for Germany and default)

; the local countrycode
countrycode = 49         ; (setting for Germany and default)


; strip the local countrycode from Calling PN
; with number type "international" ? -boolean value-
; -boolean value-
strip_countrycode = yes  ; (default)


; the local areacode
areacode = 30           ; (setting for Saarbruecken, Germany)

; strip the local areacode from Calling PN
; with number type "international" and "national"?
; -boolean value-
strip_areacode = no      ; (default)


; time in seconds between status notifications
; (see option "cfnotify" and "mailbox")
notify_time = 60         ; (default)





; user defined group name (case sensitive)
[demo]

; include settings from other group
;include = internal 
                  
; mode for ports (NT (master) or TE (slave))
; possible values: 
; - NT / nt / n 
; - TE / te / t
mode = NT
; NOTE: Please also check the datasheet of the Sirrix.PCI4S0
;       for details on the RJ45 pinout.
;       By default, the RJ45 plugs are *wired* for NT mode, so
;       can connect phones with standard 1:1 cables. For connecting 
;       to the public net in TE mode, you need to use a crossed
;       cable where the following pins are swapped:
;       ->  Pin 3 with pin 4 and pin 5 with pin 6 <-
;       See the Sirrix.PCI4S0 datasheet for details!
																								  


; mode for ports (Point-to-Point or Point-to-MultiPoint)
; possible values: 
; - yes (for PtP  (Anlagenanschluss))
; - no  (for PtMP (Mehrgeraeteanschluss))
ptp = no            


; one ore more ports on Sirrix.PCI4S0
; You can specify multiple ports by separating them
; with a +
;
ports = 0000+0001+0002+0003       ; Alle Ports der ersten Karte
;
;ports = 0102+0203 ; third port on second card
                   ; and fourth port on third card


; Asterisk context for incoming calls
context = incoming


; Asterisk language for this group
language = de


; Asterisk country (for indications) for this group
;country = ...


; Extension to call for incoming calls.
; To allow appending of digits, append +
;
extension = +
;
; if number = 456+ and a call comes in for number 45678,
; then the extension 12378 will be called.


; Callerid for incoming calls.
; Set to "asreceived" to get the callerid as received with
; the channel variable "CALLINGTON" set to the received
; type of number.
;
; To allow appending digits, append +
;
; If the incoming CallingPartyNumber is 345
; then the Asterisk CallerID will be set to 012345
;callerid = 012+
;
; The CallerID Name can also be set as usual with Asterisk
;callerid = MyName <1234>
;
; This can also be combined with the +.
;callerid = Line <012+>
;
; You can also use "asreceived"
callerid = asreceived    ; default


; Incoming calls: calling number prefix on NT, 
;                 called number prefix on TE
; Outgoing calls: called number prefix on NT, 
;                 calling number prefix on TE
;
; To allow appending of digits, append +
;
number = +
; This will match every number starting with 123


; Outgoing calls: numbertype of called party on NT, 
;                 numbertype of calling party on TE
; possible values: 
; - unknown
; - international
; - national
; - network_specific
; - subscriber / user (default)
; - abbreviated
; - reserved
numbertype = subscriber


; Outgoing calls: numberplan of called party on NT, 
;                 numberplan of calling party on TE
; possible values: 
; - unknown
; - telephony  (default)
; - private
numberplan = telephony


; Outgoing calls: numbertype of calling party on NT, 
;                 numbertype of called party on TE
; possible values:
; - unknown    (default)
; - international
; - national
; - network_specific
; - subscriber / user
; - abbreviated
; - reserved
othertype = unknown


; Outgoing calls: numberplan of calling party on NT, 
;                 numberplan of called party on TE
; possible values:
; - unknown
; - telephony  (default)
; - private
otherplan = telephony


; ONLY NT mode:
; mailbox number for checking for new messages;
; sends a MWI (Message Waiting Indication) if new
; messages are available; checks for new messages
; every "notify_time" seconds
; see also option "vmexten"
mailbox = 1234


; ONLY NT mode:
; extension to dial for receiving voicemail messages;
;  will be send within a MWI;
; see also option "mailbox"
vmexten = 500


; ONLY NT mode: 
; type of Advice of Charge During connection for this group.
; For further details on the integrated AOC engine, please
; see README.aoc.
; possible values:
; - none          ; (default)
; - units
; - currency
aocd = currency


; ONLY NT mode:
; configured price of one AOC unit in the device. This
; setting consists of an integer or floating point number
; and an optional currency. A maximum of the decimal digits
; may be used. For further details on the integrated AOC
; engine, please see README.aoc.
; aoc_unit = 123456.678
; aoc_unit = 1 GBP
; aoc_unit = 5
aoc_unit = 0.061 EUR


; ONLY NT mode: 
; notify this group of changes in programmed call forwarding 
; every [cfnotify_time] seconds
; -boolean value-
cfnotify = yes     ; (default)


; ONLY NT mode: 
; allow programming of call forward unconditional
; for this group. (cf. clause "Asterisk CallForward DB")
; -boolean value-
cfu =  yes         ; (default)


; ONLY NT mode: 
; allow programming of call forward busy
; for this group. (cf. clause "Asterisk CallForward DB")
; -boolean value-
cfb =  yes         ; (default)


; ONLY NT mode: 
; allow programming of call forward no reply
; for this group. (cf. clause "Asterisk CallForward DB")
; -boolean value-
cfnr =  yes        ; (default)


; ONLY NT mode: 
; allow call deflection for this group
; -boolean value-
cd =  yes          ; (default)


; allow presentation of connected party number 
; to this group
; -boolean value-
colp = yes         ; (default)


; allow presentation of redirection on "incoming calls" 
; to this group
; -boolean value-
redir = yes        ; (default)


; allow notify of remote changes (call held, retrieved, ...)
; to this group
; -boolean value-
notify = yes       ; (default)


; ONLY NT mode: 
; allow initiation of a three party call
; for this group
; -boolean value-
3pty = yes         ; (default)


; ONLY NT mode: 
; don't allow more than one call 
; for this group at one time
; -boolean value-
busyonbusy = no    ; (default)


; ONLY NT mode: 
; indicate calls to this group even if 
; no B-channel is available
; -boolean value-
callwaiting = yes  ; (default)


; ONLY NT mode:
; execute call transfer upon reception of DISCONNECT on HELD party;
; this may be required on phones that do not support ECT
; -boolean value-
implicit_ct = yes  ; (default)


; ONLY NT mode:
; execute call transfer upon reception of DISCONNECT on ACTIVE party;
; this may be required on phones that neither support ECT nor send
; DISCONNECT on the HELD party if call shall be transferred;
; be careful with setting this option as it prevents disconnecting
; an ACTIVE party to be disconnected when a HELD party is available.
; -boolean value-
implicit_ct_rev = no ; (default)


; shall the CallerID ->Name<- be transmitted via DISPLAY IE? 
; -boolean value-
show_cidname = yes ; (default)


; ONLY TE mode: 
; shall this group forward tones (in-band information
; or pattern to calling party for OUTGOING calls)
; -boolean value-
providetones = yes ; (default)


; select echo cancellation algorithm for this group
; possible values:
; - off / no (default; disable echo cancellation)
; - speex    (Echo cancellation from speex.org)
; - aec      (Acoustic Echo Cancellation from DFS)
; - mec      (Mark's Third Echo Canceller, mec3)
; - fir      (FIR echo-canceller from msstate.edu)
echocancel = fir


; shall this group encrypt and decrypt?
; -boolean value-
crypto = no        ; (default)


; shall the overlap dialing timeout be enabled
; -boolean value-
dialtimeout = yes  ; (default)


; shall the calling party immediately be connected to
; the s-exension (if existent)?                
; -boolean value-
;
; default values: 
; - TE mode: no
; - NT mode: yes
force_start = no


; shall the group be named in port-chan scheme
; -boolean value-
nameportchan = no  ; (default)


; change gain of TX data by -100 .. 100 (in percent)
txgain = 0         ; (default)


; change gain of RX data by -100 .. 100 (in percent)
rxgain = 0         ; (default)


; sets Asterisk call group
callgroup = 0      ; (default)


; sets Asterisk pickup group
pickupgroup = 0    ; (default)


; ONLY TE mode: 
; may the ports of this group become PCM master?
; -boolean value-
; It is *very* important to set "master = yes" on at least one group
; with "mode = TE" that is connected to the public net or a
; superior PBX system.
master = no        ; (default)


; shall this group be disabled?
; -boolean value-
disabled = no      ; (default)

Hier ist mein Dialplan:
Code:
[sonstige]

[telefone]

;include => fax-out
;include => incoming
include => sirrix-out

;SIP-interne Telefonie
exten => _1[0-3],1,Dial(SIP/${EXTEN},20)
exten => _1[0-3],n,VoiceMail(${EXTEN},u)


; Die Extension 70 stellt eine Callcenter-Warteschleife bereit
exten => 70,1,Answer()
exten => 70,n(Warteschleife),Set(MUSICCLASS()=default)
; exten => 70,n,Set(GLOBAL(CALLERID(rdnis)) = 70)
exten => 70,n,Queue(betreuung,t)
; Je nachdem, welcher Queue-Status zurückgeliefert wird
exten => 70,n,Goto(q-${QUEUESTATUS},1)
; Es folgen die möglichen Verlinkungen
;
; Für den Fall das kein Agent angemeldet ist
exten => q-JOINEMPTY,1,Wait(1) 
exten => q-JOINEMPTY,n,Playback(vm-nobodyavail,noanswer)
exten => q-JOINEMPTY,n,Playback(vm-goodbye, noanswer)
exten => q-JOINEMPTY,n,Hangup()
;
; Für den Fall, dass kein Kanal verfügbar ist
exten => q-CHANUNAVAIL,1,Goto(q-JOINEMPTY,1)
;
; Für den Fall, dass kein Agent erreichbar ist
exten => q-JOINUNAVAIL,1,Goto(q-JOINEMPTY,1)
;
; Für den Fall, dass alle Agenten die Schlange verlassen haben
exten => q-LEAVEEMPTY,1,Goto(q-JOINEMPTY,1)
;
; Für den Fall, dass alle Agenten (auch nicht verfügbare) die Schlange verlassen haben
exten => q-LEAVEUNAVAIL,1,Goto(q-JOINEMPTY,1)
;
; Für den Fall, dass kein Agent antwortet
exten => q-TIMEOUT,1,Goto(q-JOINEMPTY,1)
;
; Für den Fall, dass die Warteschlange voll ist
exten => q-FULL,1,Busy(5)
exten => q-FULL,n,Hangup()

; Die Einloggschleife für die Agenten
exten => 71,1,Answer()
exten => 71,n,AgentLogin()
exten => 71,n,Hangup()

; Agentenanmeldung mit Rückruf
exten => 72,1,AgentCallbackLogin(${CALLERID(num)},s, ${CALLERID(num)}@telefone)

;Zentrale Voicemail-Abfrage
exten => 3000,1,VoiceMailMain(s${CALLERID(num)})
exten => asterisk,1,VoiceMailMain(s${CALLERID(num)})


[ivr-ebene0]

exten => 4000,1,Answer()
exten => 4000,2,Background(eingabe)
exten => 4000,3,Background(silence/1)
exten => 4000,4,Goto(4000,2)

; Bei der 1 auf das Callcenter
exten => 1,1,Goto(telefone,70,Warteschleife)

; Bei der 2 auf die 11 der I5
exten => 2,1,capicommand(hold)
exten => 2,n,Dial(SIP/12)
exten => 2,n,Hangup()

exten => i,1,Playback(falscheingabe)
exten => i,2,Goto(4000,2)


[B][incoming]

;Eingehende Anrufe über MSN 16
exten => s,n,Goto(ivr-ebene0,4000,1)
exten => _X.,n,Goto(ivr-ebene0,4000,1)
exten => 19,n,Goto(ivr-ebene0,4000,1)[/B]


;Eingehende Faxe über MSN 15
exten => 15,1,Dial(IAX2/iaxmodem)

[B][sirrix-out]
; Ausgehende Anrufe über ISDN
exten => _0X.,1,Dial(Srx/gdemo//${EXTEN:1})
[/B]

Ich hoffe sehr, dass der Fehler bei mir liegt und nicht an Ubuntu (wie das bei CAPI mit Fritz der Fall ist), da ich mein Remaster auf dieser Basis erzeugen möchte.

Könnte es auch helfen die aktuelle Asterisk-Version zu kompilieren (Der Treiber soll ja auch mit 1.2 funzen). Ich will das was funktioniert möglichst aus den Paketquellen nehmen.

Was mache ich hier falsch?

Gruß und Dank

André
 
Zuletzt bearbeitet:
Au weia :spocht:

Also einen Fehler habe ich in Incoming der extensions gerade gefunden, der Zur Fehlermeldung

Code:
*CLI> [Jul  4 13:35:45] NOTICE[7204]: chan_sirrix.cpp:3003 cc_handle_setup_indication: group 'demo': unallocated/unassigned number 16@incoming
passt:

Alle Extensions dieses Kontextes haben die Priorität n *Patsch an dei Stirn*

Allerdings erklärt das nicht wieso ich nicht hinaustelefonieren kann.

Die Fehlermeldung zum hinaustelefonieren hatte ich aber bereits mit diversen Versuchen Fritz CAPI auf Ubuntu 8.04 bekommen (Mit 7.10 hats dann Funktioniert). Habe aber gedacht, dass ich durch den Treiber von Sirrix noch mal einen Versuch mit Ubuntu 8.04 machen.
 
Nachdem ich nun die Prioritäten wieder in Ordnung gebracht hatte, funktionierte das Telefonieren mit ISDN leider immer noch nicht. Stattdessen habe ich die Fehlermeldung erhalten, dass in meiner gruppenkonfiguration die extension 19 fehlt. Sehr seltsam, da ich mit einem + auf alle MSNs reagiere und in meinem Dialplan ebenso auf alles reagiere, was im Kontext ankommt.

Ich habe dann erstmal alle Asterisk Pakete nebst Konfigurationsdateien gelöscht und habe mir die aktuelle Version von Asterisk (1.4.21.1) selber kompiliert.

Ebenso habe ich anschließend noch den treiber neu konfiguriert, kompiliert und installiert (damit er auf die aktuelle Asterisk-Version abgestimmt ist).

Das Ergebnis ist nun wie folgt:

Ein ausgehender Anruf zur ISDN-Anlage:
Code:
*CLI>     -- Executing [011@telefone:1] Dial("SIP/12-08206ba0", "Srx/gdemo/11") in new stack
    -- Called gdemo/11
  == Everyone is busy/congested at this time (1:0/0/1)
  == Auto fallthrough, channel 'SIP/12-08206ba0' status is 'CHANUNAVAIL'

*CLI>

Alles sieht erst normal aus, allerdings hört man am SIP-Telefon überhaupt nichts, bis dann der Auto fallthrough mit einem Besetztzeichen zuschlägt.


Beim eingehenden Anruf wird es noch Kurioser:

Code:
*CLI>     -- Executing [16@incoming:1] Goto("Srx/gdemo-0x820bc70", "ivr-ebene0|4000|1") in new stack
    -- Goto (ivr-ebene0,4000,1)
    -- Executing [4000@ivr-ebene0:1] Answer("Srx/gdemo-0x820bc70", "") in new stack
    -- Executing [4000@ivr-ebene0:2] BackGround("Srx/gdemo-0x820bc70", "eingabe") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'eingabe' (language 'de')
    -- Executing [4000@ivr-ebene0:3] BackGround("Srx/gdemo-0x820bc70", "silence/1") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'silence/1' (language 'de')
    -- Executing [4000@ivr-ebene0:4] Goto("Srx/gdemo-0x820bc70", "4000|2") in new stack
    -- Goto (ivr-ebene0,4000,2)
    -- Executing [4000@ivr-ebene0:2] BackGround("Srx/gdemo-0x820bc70", "eingabe") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'eingabe' (language 'de')
    -- Executing [4000@ivr-ebene0:3] BackGround("Srx/gdemo-0x820bc70", "silence/1") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'silence/1' (language 'de')
    -- Executing [4000@ivr-ebene0:4] Goto("Srx/gdemo-0x820bc70", "4000|2") in new stack
    -- Goto (ivr-ebene0,4000,2)
    -- Executing [4000@ivr-ebene0:2] BackGround("Srx/gdemo-0x820bc70", "eingabe") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'eingabe' (language 'de')
stop nsoft hangup Srx/gdemo-0x82    -- Executing [4000@ivr-ebene0:3] BackGround("Srx/gdemo-0x820bc70", "silence/1") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'silence/1' (language 'de')
    -- Executing [4000@ivr-ebene0:4] Goto("Srx/gdemo-0x820bc70", "4000|2") in new stack
    -- Goto (ivr-ebene0,4000,2)
    -- Executing [4000@ivr-ebene0:2] BackGround("Srx/gdemo-0x820bc70", "eingabe") in new stack
    -- <Srx/gdemo-0x820bc70> Playing 'eingabe' (language 'de')
0bc70
Requested Hangup on channel 'Srx/gdemo-0x820bc70'
*CLI>   == Spawn extension (ivr-ebene0, 4000, 2) exited non-zero on 'Srx/gdemo-0x820bc70'

Der Eingehende Anruf wird über den kontext incoming an den Kontext ivr-ebene0 weitergeleitet. Auch hier sieht es auf der CLI genau so aus als würde ich mit einem SIP anrufen.

Das Problem ist: Der Anrufer von der ISDN-Anlage bekommt davon gar nichts mit. Bei ihm klingelt es, bis nach kurzer Zeit ein Besetztzeichen kommt. Auf der CLI hingegen läuft das IVR bis zum St. Nimmerleinstag weiter so dass ich den channel per soft hangup manuell stoppen muss.

Mir geht wirklich mein Latein langsam aus. Werde hier noch ein paar Konfigurationen testen und dann ein Debian-System aufsetzen, wobei ich hier auch keine großen Hoffnungen habe.

Irgendwie habe ich das Gefühl, dass ich kurz vor dem Durchbruch bin. Hat irgendjamand eine Erklärung für das seltsame verhalten?

Kann mir jemand eine Übersichtliche, nicht vollgestopfte aber funktionierende sirrix.conf posten? Die samples von sirrix ist ja doch recht umfangreich und ich vermute, dass sich hier irgendwo fehler eingeschlichen haben.

Gruß

André
 
So, habs nochmal probiert indem ich das Ganze auf einem Debian-Etch aufgesetzt habe und...

Alles wie gehabt :mad: :toilet:

Ich bekomme zwar wieder keine Fehlermeldungen, aber funktionieren tuts immer noch nicht. Ich erhalte mit einem kompilierten Asterisk 1.4.21.1 auf Debian Etch genau dieselben Meldungen wie in Ubuntu (siehe mein voriger Beitrag)

Tja, irgendwie komme ich hier nicht weiter. Dann werd ich mal den Sirrix-Support in Anspruch nehmen müssen.

Gruß

André
 
Probleme mit Sirrix PCI4S0

Hallo,

ich habe den Thread mal kurz überfolgen. Wenn ich es richtig verstanden habe ist der Asterisk am internen S0 der Telefonanlage. Demnach wäre die Telefonanlage NT und der Asterisk TE. Ich gehe weiter davon aus, dass es eine interner Mehrgeräteanschuss ist und die Gruppe [demo] (sirrix.conf) hierzu verwendet werden soll.


Das bedeutet für die Sirrix.conf:

; Masterport d.h. Sync-Signal von Port nehmen (also von der Telefonanlage)
master = yes

; Mehrgeräteanschluss (ptmp)
ptp = no

;Mehr als ein Port würde gehen, macht aber bei ptmp keinen Sinn / Kabel muss dann auch an Port 0000
ports = 0000
; Wenn wir am intern Bus hängen sind wir TE und die Telefonanlage NT
mode = TE

Der Dial Befehlt muss so lauten (Wählplan):

[sirrix-out]
; Ausgehende Anrufe über ISDN
exten => _0X.,1,Dial(Srx/gdemo/${EXTEN:1})

Ich hoffe geholfen zu haben

Grüße

Thomas
 
Ich hoffe geholfen zu haben

Absolut! :mrgreen: Danke für diesen entscheidenen Tipp. In ISDN muss ich mich wohl noch ein bisserl reinarbeiten. Komme halt mehr aus der Programmiererschiene :rolleyes: .

Freuen tut mich auch, dass es demnach mit Ubuntu genauso gut funktionieren wird und somit meinen Remaster-Plänen auch hier nichts im Weg steht :cool:

Mehr als ein Port würde gehen, macht aber bei ptmp keinen Sinn / Kabel muss dann auch an Port 0000

Hmm, also die Zielstellung ist, dass von außen kommende Anrufe zur ISDN-Telefonanlage direkt an Asterisk weitergeleitet werden, welcher ein Sprachmenü zur Verfügung stellt. Je nach auswahl wird dann per ECT vermittelt.

Daher wollte ich alle Ports in einer Gruppe bündeln, damit für diese Aufgabe ausreichend Kanäle zur Verfügung stehen. Begehe ich hierbei einen Denkfehler?

BTW: Ich finde nicht das Passende Kommando für ECT in der README.conf. Gibt es irgendwo eine Referenz für die extensions-Anweisungen? Ich möchte halten und vermitteln. Mit capicommand war das hold und ect.

Vielen Dank nochmal

André
 
Bei meinen weiteren Versuchen ist mir aufgefallen, dass der zweite B-Channel von der ISDN-Anlage aus als Besetzt behandelt wird. Und das obwohl bei der Benutzung eines Kanals
Code:
srx show chans
anzeigt, dass noch ein weiterer Kanal verwendbar sein sollte :confused:

Hier der Ablauf:
Code:
tkserver*CLI>
    -- Executing [16@incoming:1] Goto("Srx/gdemo-0x81ffe28", "ivr-ebene0|4000|1") in new stack
    -- Goto (ivr-ebene0,4000,1)
    -- Executing [4000@ivr-ebene0:1] Answer("Srx/gdemo-0x81ffe28", "") in new stack
    -- Executing [4000@ivr-ebene0:2] BackGround("Srx/gdemo-0x81ffe28", "eingabe") in new stack
    -- <Srx/gdemo-0x81ffe28> Playing 'eingabe' (language 'de')
tkserver*CLI> srx show chans
Port    Chan  InUse
[B]0x0000   1    1
0x0000   2    0[/B]
0x0001   1    0
0x0001   2    0
    -- Executing [4000@ivr-ebene0:3] BackGround("Srx/gdemo-0x81ffe28", "silence/1") in new stack
    -- <Srx/gdemo-0x81ffe28> Playing 'silence/1' (language 'de')
    -- Executing [4000@ivr-ebene0:4] Goto("Srx/gdemo-0x81ffe28", "4000|2") in new stack
    -- Goto (ivr-ebene0,4000,2)
    -- Executing [4000@ivr-ebene0:2] BackGround("Srx/gdemo-0x81ffe28", "eingabe") in new stack
    -- <Srx/gdemo-0x81ffe28> Playing 'eingabe' (language 'de')
[B][Jul  8 11:01:39] NOTICE[10996]: chan_sirrix.cpp:6030 cc_distribute_ccmsg: No group for number '16' on port 0000 and channel 0x01, rejecting call.[/B]

Meine sirrix.conf sieht jetzt so aus:
Code:
; global settings
[Global]
internationalprefix = 00
nationalprefix = 0

; internal
[demo]
mode = TE
ptp = no
context = incoming 
cfnotify = no 
cfu = yes
cfnr = yes
cfb = yes
aocd = units
colp = yes
redir = yes
notify = yes
echocancel = yes
ports = 0000+0001
number = +
callerid = <+>
dialtimeout = false
extension = 16
 
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.