- Mitglied seit
- 14 Jul 2005
- Beiträge
- 16
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hallo,
ich habe ein schweres Problem mit den Sirrix PCI4S0 Karten.
Sie machen sich für den geplanten Einsatz unbrauchbar und
hoffe hier auf eine Lösungshilfe.
Und zwar steigt die CPU-Belastung, bei einem Call vom ISDN-Netz
zu einem SIP (oder IAX) Gerät. Vom SIP Gerät ins ISDN Netz tritt
dieses Problem nicht auf. Ebenfalls nicht vom ISDN ins ISDN
Netz, da die Karte in dem Fall eine native Bridge erstellt.
SIP zu SIP und IAX läuft ebenfalls fehlerfrei.
Zwei gleichzeitige Gespräche bei einem 600Mhz PC sind dann kaum noch möglich.
Interessant ist der Sleep-State in dem Fall...
Probiert habe ich folgendes, um irgendwelche Systemfehler
erstmal ausschließen zu können:
- zwei verschiedene Sirrix Karten
- 3 PCs, Via Epia 600Mhz, Pentium 3 900Mhz, AMD Duron 1300Mhz
- Asterisk-Versionen 1.2.22.1, 1.2.24 sowie 1.4.14
- Sirrix Treiber Version 070805
- Kernel Version 2.6.20, 2.6.22, 2.6.23
- ISDN Anlagen- und Mehrgeräteanschluss
Mit einer Cologne Chip ISDN Karte tritt dieses Problem nicht auf.
Wenn ich die Debugginginfos (siehe unten) richtig verstehe,
braucht eine Funktion namens "dtmf_detect" die ganze CPU-Zeit.
Vielen Dank!
ich habe ein schweres Problem mit den Sirrix PCI4S0 Karten.
Sie machen sich für den geplanten Einsatz unbrauchbar und
hoffe hier auf eine Lösungshilfe.
Und zwar steigt die CPU-Belastung, bei einem Call vom ISDN-Netz
zu einem SIP (oder IAX) Gerät. Vom SIP Gerät ins ISDN Netz tritt
dieses Problem nicht auf. Ebenfalls nicht vom ISDN ins ISDN
Netz, da die Karte in dem Fall eine native Bridge erstellt.
SIP zu SIP und IAX läuft ebenfalls fehlerfrei.
Zwei gleichzeitige Gespräche bei einem 600Mhz PC sind dann kaum noch möglich.
Interessant ist der Sleep-State in dem Fall...
Code:
# top
load average: 0.87, 0.44, 0.41
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12626 root 15 0 62508 9684 6024 S 48.7 3.8 0:25.62 asterisk
Probiert habe ich folgendes, um irgendwelche Systemfehler
erstmal ausschließen zu können:
- zwei verschiedene Sirrix Karten
- 3 PCs, Via Epia 600Mhz, Pentium 3 900Mhz, AMD Duron 1300Mhz
- Asterisk-Versionen 1.2.22.1, 1.2.24 sowie 1.4.14
- Sirrix Treiber Version 070805
- Kernel Version 2.6.20, 2.6.22, 2.6.23
- ISDN Anlagen- und Mehrgeräteanschluss
Mit einer Cologne Chip ISDN Karte tritt dieses Problem nicht auf.
Wenn ich die Debugginginfos (siehe unten) richtig verstehe,
braucht eine Funktion namens "dtmf_detect" die ganze CPU-Zeit.
Code:
# gprof asterisk
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
46.00 0.23 0.23 49800 0.00 0.00 dtmf_detect
12.00 0.29 0.06 50910 0.00 0.00 ast_waitfor_nandfds
8.00 0.33 0.04 50020 0.00 0.00 ast_write
6.00 0.36 0.03 50184 0.00 0.00 ast_read
6.00 0.39 0.03 49800 0.00 0.00 __ast_dsp_silence
6.00 0.42 0.03 49221 0.00 0.00 ast_translate
6.00 0.45 0.03 ast_dsp_process
4.00 0.47 0.02 101781 0.00 0.00 ast_frfree
4.00 0.49 0.02 30514 0.00 0.00 join
2.00 0.50 0.01 16 0.62 0.62 rebuild_matrix
0.00 0.50 0.00 203225 0.00 0.00 data_start
...snip...
granularity: each sample hit covers 4 byte(s) for 2.00% of 0.50 seconds
index % time self children called name
<spontaneous>
[1] 58.0 0.03 0.26 ast_dsp_process [1]
0.23 0.00 49800/49800 dtmf_detect [2]
0.03 0.00 49800/49800 __ast_dsp_silence [8]
-----------------------------------------------
0.23 0.00 49800/49800 ast_dsp_process [1]
[2] 46.0 0.23 0.00 49800 dtmf_detect [2]
-----------------------------------------------
<spontaneous>
[3] 35.7 0.00 0.18 ast_channel_bridge [3]
0.04 0.04 50020/50020 ast_write [4]
0.06 0.00 50196/50910 ast_waitfor_nandfds [5]
0.03 0.00 50184/50184 ast_read [6]
0.01 0.00 50182/101781 ast_frfree [9]
0.00 0.00 16/1030 ast_log [22]
0.00 0.00 4/31 manager_event [58]
0.00 0.00 4/4 pbx_builtin_getvar_helper [92]
0.00 0.00 4/6 pbx_builtin_setvar_helper [84]
-----------------------------------------------
...snip...
# cat sirrix.conf
[Global]
internationalprefix = 00
nationalprefix = 0
countrycode = 49
strip_countrycode = yes
areacode = 221
strip_areacode = yes
[ExternalPtP]
mode = TE
ptp = yes
ports = 0000+0001
number = +
context = from-extern
colp = no
redir = no
echocancel = yes
extension = +
callerid = <+>
force_start = yes
[InternalPtP]
mode = NT
ptp = yes
ports = 0002+0003
number = +
context = from-intern
aocd = units
colp = no
echocancel = yes
callerid = <+>
srv*CLI> show translation
Translation times between formats (in milliseconds)
Source Format (Rows) Destination Format(Columns)
g723 gsm ulaw alaw g726 adpcm slin lpc10 g729 speex ilbc
g723 - - - - - - - - - - -
gsm - - 2 2 4 2 1 5 - - 31
ulaw - 4 - 1 4 2 1 5 - - 31
alaw - 4 1 - 4 2 1 5 - - 31
g726 - 6 4 4 - 4 3 7 - - 33
adpcm - 4 2 2 4 - 1 5 - - 31
slin - 3 1 1 3 1 - 4 - - 30
lpc10 - 6 4 4 6 4 3 - - - 33
g729 - - - - - - - - - - -
speex - - - - - - - - - - -
ilbc - 6 4 4 6 4 3 7 - - -
srv*CLI>
Vielen Dank!