Hallo,
mir ist es gelungen ein Modul für Asterisk zu schreiben, das mithilfe einer Open Source-Bibliothek Hintergrundgeräusche wie TV, Musik, Tastaturtippen, Verkehrslärm aus dem Audio filtert > Senderichtung. Da bei keiner Sprache bloß Stille "gesendet" wird, wurde es mit CNG versehen, wobei sich die Intensität über einen Parameter im Dialplan konfigurieren lässt. Allgemein wird das Modul im Dialplan über den entsprechende Extension mit maximal 3 Zeilen gesteuert, was das ganze übersichtlich macht.
Der Code basiert auf #C und wird zusätzlich von einem Python Code unterstützt - Grund:
Die Filterung muss deaktiviert werden, wenn der Anruf gehalten wird, da bei der Gegenstelle ansonsten Artefakte der MOH ankommen würden. Per AMI wird StartMusicOnHold überwacht und über den Websocket an das Modul übergeben. Beim Weiterführen des Anrufs, wird der Filter wieder aktiviert. All dies wäre nicht nötig, wenn direkt ein SIP/PJSIP Endpunkt angewählt wird, da ich mich jedoch in einer ConfBridge befinde, läuft die MOH über diesen Audiohook > MOH wird gefiltert.
Da ich anfangs Bedenken bzgl. Latenz hatte, war es besonders wichtig darauf zu achten, dass der Code möglichst effizient und in Echtzeit arbeitet.
Wer selbst Entwickler ist und gerade nichts zu tun hat oder interessiert ist, darf sich gerne melden.
Ich würde mich daher über Verbesserungsvorschläge oder Rückmeldungen freuen!
Viele Grüße
mir ist es gelungen ein Modul für Asterisk zu schreiben, das mithilfe einer Open Source-Bibliothek Hintergrundgeräusche wie TV, Musik, Tastaturtippen, Verkehrslärm aus dem Audio filtert > Senderichtung. Da bei keiner Sprache bloß Stille "gesendet" wird, wurde es mit CNG versehen, wobei sich die Intensität über einen Parameter im Dialplan konfigurieren lässt. Allgemein wird das Modul im Dialplan über den entsprechende Extension mit maximal 3 Zeilen gesteuert, was das ganze übersichtlich macht.
Der Code basiert auf #C und wird zusätzlich von einem Python Code unterstützt - Grund:
Die Filterung muss deaktiviert werden, wenn der Anruf gehalten wird, da bei der Gegenstelle ansonsten Artefakte der MOH ankommen würden. Per AMI wird StartMusicOnHold überwacht und über den Websocket an das Modul übergeben. Beim Weiterführen des Anrufs, wird der Filter wieder aktiviert. All dies wäre nicht nötig, wenn direkt ein SIP/PJSIP Endpunkt angewählt wird, da ich mich jedoch in einer ConfBridge befinde, läuft die MOH über diesen Audiohook > MOH wird gefiltert.
Da ich anfangs Bedenken bzgl. Latenz hatte, war es besonders wichtig darauf zu achten, dass der Code möglichst effizient und in Echtzeit arbeitet.
Wer selbst Entwickler ist und gerade nichts zu tun hat oder interessiert ist, darf sich gerne melden.
Ich würde mich daher über Verbesserungsvorschläge oder Rückmeldungen freuen!
Viele Grüße
Zuletzt bearbeitet: