- 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:
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:
Ein eingehender Anruf von der MSN 19 der ISDN-Anlage:
Möchte ich mit einem SIP-Phone in die ISDN-Anlage reintelefonieren, dann sieht das bei mir so aus:
*CLI>
Hier meine sirrix.conf auf basis des mitgelieferten Samples:
Hier ist mein Dialplan:
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é
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: