.titleBar { margin-bottom: 5px!important; }

[Gelöst] Qualität Voicemail

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von tjwan, 17 Juni 2005.

  1. tjwan

    tjwan Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    Ich habe das folgende Problem:

    Bei der Aufnahme von Voicemails gehen Wortfetzen verloren, als könnte das das System nicht schnell genug auf die Platte schreiben.

    Zur Analyse habe ich die folgenden Versuche gemacht:

    1. Gesprächsaufzeichnung mit Monitor-Funktion.
    Auch dabei wird der Audiokanal von Asterisk aufgezeichnet und in eine Wav-Datei gespeichert. Anrufer über ISDN / CAPI und Anruf über SIP.
    Ergebnis: Leichtes Rauschen, aber Qualität absolut ausreichend sowohl beim Anruf über ISDN als auch über SIP.

    2. Voicemail, Anrufer über SIP
    Ergebnis: Qualität bestens

    3. Voicemail, Anrufer über ISDN / CAPI
    Ergebnis: Kaum zu verstehen. Es gehen Wortfetzen verloren, als könnte das das System nicht schnell genug auf die Platte schreiben oder die Rauschunterdrückung ist falsch eingeregelt. Der Versuch wurde mit unterschiedlichen Enstellunges des Parameter silencethreshold zwischen 0 und 255 wiederholt und auch mit dem beiden Formaten wav und wav49. Es liessen sich aber keine Unterschiede feststellen.

    Was mich wundert: Was ist der Unterschied zwischen 1. und 3. bei beiden wird doch der Audiokanal, der über einen ISDN / Capi - Kanal in das Asterisk-System kommt in eine Datei aufgezeichnet. Oder wo gibt es ausser in voicemail.conf weitere Parameter die das beeinflussen können ?

    Steckbrief zur Anlage:
    Linux 2.6.10, Asterisk 1.0.7 auf einem Athlon 1.8 GHz mit AVM C4 Karte als Nebenanlage angeschlossen an eine Nebenstellenanlage. Normale Telefonate in allen Richtungen zwischen ISDN und SIP Softphone funktionieren mit guter Qualität.

    Ich habe hier im Forum schon jede Menge gelesen zu Timern und Kernel-Treibern die die Qualität beeinflussen. Die Einträge schienen mir aber alle älter zu sein. Ausserdem ist die Qualität ja an sich gut auch beim Monitoring, es gibt nur Probleme bei der Aufzeichnung von Voicemails.

    Gruß

    tjwan
     
  2. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    tjwan!

    Sieht so aus, als ob sich die ISDN karte ein IRQ teilt.
    Was sagt denn:

    cat /proc/interrupts

    ???

    Die Platte muß im DMA-Mode laufen.

    Gruß
    britzelfix
     
  3. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Kann ich im Linux (Suse 9.2) die Benutzung bestimmter irq's erzwingen?

    Die freien IRQ's 3, 4, 6, 7 (Serielle und Drucker ausgeschaltet, keine Floppy) werden nicht genutzt, andere dafür mehrfach belegt.

    Das BIOS bietet in der Richtung leider nichts, einer der Gründe warum ich plug and pray nicht ausstehen kann!
     
  4. tjwan

    tjwan Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Britzelfix,

    Danke für den Tip. Die Platten laufen bereits im DMA-Modus.
    Allerdings ist die C4-Karte irgendwie noch auf einem virutellen Interrupt (s.u.) Wir schalten jetzt mal alle überflüssigen Devices ab und hoffen dann, dass die Interrupts besser verteilt werden.

    Code:
               CPU0
      0:  865049208    IO-APIC-edge  timer
      1:          8    IO-APIC-edge  i8042
      7:          2    IO-APIC-edge  parport0
      8:          4    IO-APIC-edge  rtc
      9:          0   IO-APIC-level  acpi
     10:     100000   IO-APIC-level  uhci_hcd, uhci_hcd
     11:     400943   IO-APIC-level  via82cxxx
     12:  341799310    IO-APIC-edge  i8042
     14:    1276621    IO-APIC-edge  ide0
     15:   11521624    IO-APIC-edge  ide1
    169:    8080793   IO-APIC-level  c4-dc00, eth0
    177:     335736   IO-APIC-level  c4-e000
    185:     179166   IO-APIC-level  c4-e800
    NMI:          0
    LOC:  865138479
    ERR:          1
    MIS:          0
    
    Nach abschalten aller überflüssigen sieht die Interruptverteilung wie folgt aus. Die C4-Karten liegen immer noch auf den virtuellen Interrupts. Gibt es irgendeine Möglichkeit, das Mapping der Interrupts zu beeinflussen ?

    Code:
               CPU0
      0:     648231    IO-APIC-edge  timer
      1:          8    IO-APIC-edge  i8042
      8:          4    IO-APIC-edge  rtc
      9:          0   IO-APIC-level  acpi
     12:     216675    IO-APIC-edge  i8042
     14:       3785    IO-APIC-edge  ide0
     15:       3937    IO-APIC-edge  ide1
    169:       7220   IO-APIC-level  c4-e000, eth0
    177:       6977   IO-APIC-level  c4-e400
    185:        196   IO-APIC-level  c4-ec00
    NMI:          0
    LOC:     648220
    ERR:          0
    MIS:          0
    
    Gruß

    Tjwan
     
  5. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @kombjuder

    Ist mir nicht bekannt. Wenn nötig stelle ich die IRQ's im BIOS ein.
    Ist auch stark vom Chipsatz abhängig.

    Gruß
    britzelfix
     
  6. tjwan

    tjwan Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wir haben jetzt diverse Sachen ausprobiert:
    Alle C4 Karten bis auf eine entfernt. Interrupt im Bios explizit an PCI-Slots zugewiesen (ging nach einigem Suchen doch bei diesem Board, man muss halt selber vor Ort sein), nachdem alle überflüssigen Peripherie-Geräte disabled wurden. Die Karten haben jetzt wirklich ihren eigenen physikalischen Interrupt. Leider immer noch keine Verbesserung.

    Könnte es vielleicht doch an der Software liegen, irgendwo im Rauschunterdrückungscode der Voicemail-Funktion ?

    Gruß

    tjwan
     
  7. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @tjwan

    Laeuft die HD im DMA-Modus?

    mit hdparm -vi /dev/hda ueberpruefen.

    Notfalls eine ramdisk einrichten und statt auf HD ins RAM speichern.

    # /etc/fstab
    tmpfs /var/spool/asterisk/voicemail tmpfs auto 0 0

    wenns dennoch nicht klappt, mit 4-HFC Karten versuchen,
    Board/CPU tauschen usw...

    Gruss
    britzelfix
     
  8. tjwan

    tjwan Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da auch eine FritzCard uns nicht weitergebracht hat, hatten wir aber eher doch die Software im verdacht. Aber auch ein neuer Chan_Capi-Treiber brachte leider nichts. Noch eine interessante Beobachtung: Wenn man auf den AB pfeift, also ein durchgehendes Signal ohne Unterbrechungen erzeugt, wird dieses auch ohne Unterbrechnungen aufgezeichnet.

    Die Platten liefen bereits im DMA-Modus. Ist allerdings ein Softraid, vielleicht stellt das noch ein Problem dar. Wir versuchen es jetzt nochmal mit der Ramdisk.

    Falls auch das uns nicht weiterbringt, werden wir es mal mit HFC-Karten versuchen. Läuft das dann auch noch über Capi oder wird dann eine ganz andere Treiberhierarchie benötigt ?
     
  9. tjwan

    tjwan Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ging schnell:

    Ramdisk einrichten:
    mv /var/spool/asterisk/voicemail /var/spool/asterisk/voicemail2
    mkdir -p /var/spool/asterisk/voicemail
    mkfs -t ext2 /dev/ram0
    mount /dev/ram0 /var/spool/asterisk/voicemail

    und aufnehmen. Leider kein Stück besser als bisher. Ich glaube das Plattensystem kann damit dann auch ausgeschlossen werden.
     
  10. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    versuchs mal mit einem Intel-Board.

    Gruß
    britzelfix
     
  11. tjwan

    tjwan Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Inzwischen ist die Lösung gefunden:
    IRQs und Platte waren alle ok.
    Die Lösung lag in einer Erhöhung von rxgain und txgain in der capi.conf
    Offenbar verwenden wir zwischen Standard-PBX und Asterik-PBX zu lange Kabel.
    Trotzdem Danke für die Hinweise.
     
  12. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @tjwan

    Interessant. Merkwürdig nur, daß sich das bei den
    Gespächen nicht bemerkbar gemacht hat.

    Gruß
    britzelfix