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

Voicemail-Aufzeichnung bricht nach 1 Minute ab

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von tjareson, 19 Nov. 2006.

  1. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo zusammen,

    habe zu diesem Problem bislang nichts gefunden, vielleicht hat es auch noch keiner gemerkt:
    In der voicemail.conf habe ich maxmessage auf 600 gesetzt. Das müsste eigentlich eine Nachrichtenlänge von 10 Minuten erlauben. Trotzdem wird die Nachrichtenaufzeichnung nach exakt 1 Minute beendet. Habe in der voicemail.conf schon alles mögliche ausprobiert, also in verschiedenen Kontexten, auch direkt als Parameter bei der Voicemailkonfiguration - immer das gleiche Ergebnis. Habe bislang zwei verschiedene SIP-Provider getestet, das Problem tritt unabhängig davon auf.
    Grundsätzlich bricht die Telefonverbindung nicht nach 1 Minute ab (bspw. bei längeren Ansagen oder Konferenzen). Nur eben bei Voicemailaufzeichnung. Und dort auch mitten im Satz. (Also vermutlich auch kein Problem der Silence-Detection).
    Ich nutze Asterisk 1.2.13 auf debian.
    Kennt jemand das Problem und vielleicht auch die Lösung dazu?

    Beste Grüße.
    Tjareson.
     
  2. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kurze Ergänzung:
    Das gleiche Problem tritt auch bei Record() auf.
    Auch hier wird die Verbindung nach 1 Minute getrennt.
    Entweder wird hier auf die gleiche interne Funktion bei Asterisk zurückgegriffen oder es ist vielleicht doch ein Verbindungsproblem.
    Weiss jemand, ob es sein kann, dass SIP-Provider die Verbindung abbauen, wenn bspw. länger als eine Minute keine Daten über RTP durch Asterisk gesendet werden?

    Beitrag von 20:32

    Noch ein Update
    Das gleiche Problem tritt auch bei Wait(70) auf.
    Offensichtlich wird die Verbindung tatsächlich getrennt, wenn eine bestimmte Zeit keine Daten gesendet werden.
    Kann das vielleicht mal jemand testen, einfach ein Wait-Kommando über 70 Sekunden in den Dial-Plan aufzunehmen und zu sehen, ob die Verbindung erhalten bleibt?

    ----------
    Edit Rocky512 - Bitte EDIT-Funktion nutzen wenn du deinem Beitrag etwas hinzufügen willst.Habe deine beiden Beiträge nun zusammengeführt
     
  3. alex-911

    alex-911 Mitglied

    Registriert seit:
    6 Aug. 2005
    Beiträge:
    261
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    inschenjöhr
    Ort:
    Schweiz

    ja, das ist so. normalerweise wird der RTP stream überwacht. kommt nach einem konfigurierten timer x kein stream, wird der call vom media gateway abgebrochen.
    wie lang der timer läuft und ob er überhaupt gesetzt ist, hängt vom provider ab.

    gruss
    /alex
     
  4. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Aha, das ist interessant. D.h. aber auch, das dann nie Anrufbeantworternachrichten oder Aufnahmen länger als diese Timeout-Zeit möglich wären, da in dieser Zeit von Asterisk keine RTP-Daten übermittelt werden.
    Kann man das irgendwie ändern? Es würde ja reichen, wenn Asterisk zumindest ab und an RTP-Daten sendet, damit dieses Timeout nicht zuschlägt. (Ich stelle mir so eine Art Keep-Alive-Signal vor...)
    Komisch finde ich, dass diese Überwachung durch die Provider schon wirksam wird, wenn nur auf einem Kanal kein Ton mehr zu hören ist.
     
  5. alex-911

    alex-911 Mitglied

    Registriert seit:
    6 Aug. 2005
    Beiträge:
    261
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    inschenjöhr
    Ort:
    Schweiz
    das ist bei dem RTP timer nicht der fall. da wird nix "reingehört" ;)

    hast du gesehen, dass * kein RTP während der aufzeichnung sendet? spontan wüsste ich nicht, ob das konfigurierbar ist.
    gruss
    /alex
     
  6. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kann man irgendwie herausfinden, wann Asterisk rtp Daten sendet und wann nicht?
    Mich wundert, dass über dieses Problem bislang so wenig zu finden ist...
     
  7. alex-911

    alex-911 Mitglied

    Registriert seit:
    6 Aug. 2005
    Beiträge:
    261
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    inschenjöhr
    Ort:
    Schweiz

    mit "rtp debug" auf der konsole. nach der ansage hört er auf zu senden.

    gruss
    /alex
     
  8. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gibt es denn SIP-Provider, welche dieses Problem bekanntermaßen nicht haben?
     
  9. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Deine Beschreibung ist nicht ganz schlüssig, tritt das Problem nun nur bei Stille oder auch bei Sprachübertragung auf?

    Ändere mal den Wert
    rtptimeout auf z.B. 120
    in der sip.conf


    andere Möglichkeiten
    vServer?
    Billig-Router mit Hackerschutz?
     
  10. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Problem tritt immer dann auf, wenn Asterisk selbst für länger als 60 Sekunden nichts sendet. Also bspw. bei Aufzeichnung von Sprachnachrichten oder auch bei Wait(70). (Siehe oben)
    Lt. anderer Beiträge hier, unterbrechen manche SIP-Provider die Verbindung, wenn für mehr als 1 Minute von einem Gesprächspartner keine RTP-Daten gesendet werden.
    Ein rtptimeout ist nicht gesetzt, das habe ich aber auch schon ausprobiert. Die Verbindung wird von Asterisk auch als vom Teilnehmer beendet angezeigt.
     
  11. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    rtptimeout ist default mit 60 Sekunden gesetzt!

    Über welche Provider sprechen wir denn hier?
     
  12. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe dus.net und Nikotel, bei beiden habe ich das gleiche Problem.
     
  13. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, dus.net sendet nach 60 Sekunden ein BYE wenn kein rtp-Strom gesendet wird.

    Damit begrenzt dus.net unter anderem die maximale Aufnahmelänge eines Anrufbeantworters auf 60 Sekunden.
     
  14. tjareson

    tjareson Neuer User

    Registriert seit:
    29 Okt. 2005
    Beiträge:
    65
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So, konnte das Thema nach einiger Zeit lösen.
    Habe mir mal im Source-Code angesehen, wie asterisk überhaupt aufzeichnet. Dabei ist mir aufgefallen, dass dort unter anderem auch eine Variable option_transmit_silence_during_record berücksichtigt wird. Wenn diese gesetzt ist, startet asterisk während der Aufnahme einen Silence-Generator, der sozusagen einen rtp-Stille-Datenstrom generiert. Damit drehen einem dann die SIP-Provider nicht mehr die Verbindung ab.
    Nach etwas Rumsucherei habe ich dann gefunden, das die in der asterisk.c initialisiert wird und zwar durch Auslesen der asterisk.conf.

    Also im Endeffekt einfach
    [options]
    option_transmit_silence_during_record=yes

    in asterisk.conf eintragen. Dann können Anrufbeantworternachrichten auch länger als eine Minute dauern.
    Mich würde übrigens interessieren, ob das in irgendeiner Doku zu finden ist.
    In dem schon recht detaillierten 376-Seiten asterisk-pdf was man auf asterisk.org herunterladen kann, stand das nirgendwo. Sich aber immer durch die Sourcen durchzuwühlen, kann's ja auch nicht immer sein...

    Beste Grüße.
    Tjareson.