Tips und Tricks

Aus Deutsche Asterisk User Group
Zur Navigation springenZur Suche springen

Das Problem Sipgate und ZAPhfc

Problem:
Beim Einsatz eines Asterisk-Servers als Least-Cost-Router mit ZAPhfc und Sipgate kommt es nach 20 Sekunden klingeln zu einem Verbindungsabbruch, wobei der Asterisk-Server das Gespräch beendet und den SIP-Anruf bei Sipgate Cancelt und auf der ISDN-Seite ein Hangup rausschickt.

Lösung bzw. Workaround:
In der extensions.conf beim Anruf zu sipgate folgende Konfigurationsmöglickeiten verwenden:

Wenn eine Tarifansage gewünscht ist:

exten => _X.,1,Ringing()
exten => _X.,2,Dial(SIP/${EXTEN}@sipgate-out,60,tT)

Wenn keine Tarifansage nötig ist, gehts auch etwas eleganter:

exten => _X.,1,Dial(SIP/${EXTEN}@sipgate-out,60,rtT)

Wobei das r das Klingeln erzeugt und bis zum Answer kein Audio durchlässt, deshalb funktioniert die Tarifansage nicht.


Tag / Nachtschaltung bzw. Zeitgesteuerete Events

Im Wählplan (extensions.conf) kann man einen Context zeitgesteuert einbinden:

include => <Context>|<Startzeit>-<Endzeit>|<Wochentag>-<Wochentag>|<Tag im Monat>|<Monat>

z.B.:
include => tag|08:00-17:00|mon-fri|*|*
include => heiligabend|*|*|24|12

Wenn man nun mit show dialplan extension@context die Funktionsweise überprüft wird man allerdings eine Überraschung erleben, denn es heißt, es ist keine Regel gefunden worden. Funktionieren tut das ganze aber trotzdem. Das Problem liegt wohl darin, dass das show dialplan die aktuelle Zeit nicht beachtet und somit den zeitgesteuerten Context nicht berücksichtigt.

Das Problem CISCO oder Asterisk und Skinny

Der Asterisk-Server unterstützt in der Standardkonfiguration das sogenannte Skinny-Protokoll (SCCP) der Firma Cisco. Leider ist die Unterstützung der Endgeräte nicht so wirklich zufriedenstellend, aus diesem Grund hat es ein Projekt gegeben, mit dessen Hilfe eine recht brauchbare Unterstützung der Cisco-Telefone erreicht wurde. Bedauerlicherweise ist das Projekt Anfang 2006 eingestellt worden. Es gibt aber einige, die diesen Kanaltreiber verwenden und auch etwas weiterpflegen. So erhält man Patches für Asterisk 1.4 oder einen lauffähigen Treiber für Asterisk 1.2. Ende 2007 ist ein neues Projekt gegründet worden, welches den Chan_sccp weiterentwickelt, unter dem Namen Chan_SCCP-b.

Der Kanaltreiber heißt chan_sccp und unterstützt viele Features und fast alle Cisco-Telefone mit dem SCCP-Firmware-Image.


Warum braucht man denn bei einem Asterisk überhaupt Skinny?

Diese Frage lässt sich meist recht einfach beantworten:

Ein Unternehmen will von einer Callmanager-Lösung umsteigen auf eine Asterisk-Lösung und hat aber jede Menge Cisco-Telefone, um diese nicht wegwerfen zu müssen kann man dann die Lösung mit dem SCCP-Kanal-Treiber verwenden.

Cisco hat zwar auch SIP-Images, diese gibt es allerdings nicht für alle Telefontypen und es werden auch nicht alle Features unterstützt, außerdem kostet die Umstellung jede Menge Lizenzgebühren.

Der SCCP-Kanaltreiber ist allerdings keine dauerhafte Lösung, wenn man den Asterisk recht aktuell halten möchte. Hier sollten mit der Zeit die Cisco-Telefone durch SIP-Telefone ersetzt oder das SIP-Image von Cisco (erfordert Linzenz) verwendet werden. Es gibt für alle gängigen Cisco-Telefone mittlerweile SIP-Images, das Manko bei den SIP-Images ist ein eingeschränkter Funktionsumfang, z.B. ist derzeit nicht möglich eine andere Sprache einzustellen, das Cisco-Telefon ist also nach dem Update auf SIP nur noch englisch. Laut aussagen von Cisco ist eine Multilangual-Unterstützung geplant, die nötigen Konfigurationseinstellungen existieren bereits, werden aber von der Firmware noch nicht unterstüzt. Auch ist der XML-Browser verändert worden, das die früheren Telefonbücher nicht mehr mit dem SIP-Image funktionieren. Die alten Klingeltöne kann man aber nach wie vor verwenden, es ist nur nötig eine neue Ringlist-Datei zu erstellen, da sich das Format geändert hat. Nähere Infos gibt es bei www.cisco.com.


ACHTUNG: Bei der Verwendung von Cisco-Telefonen mit erlaubter Rufumleitung ist es möglich, einen "Loop" zu bilden, dieser legt solange der Ruf auf diesen Loop aktiv ist den Asterisk-Server lahm. Der Loop muss über den Wählplan abgefangen werden.

ACHTUNG: Bei der Verwendung der GPickUp-Taste an Cisco-Telefonen mit dem SCCP-Image und dem SCCP-Kanal-Treiber ist darauf zu achten, dass in der PickUpGroup nur ein Eintrag ist, wenn dort mehrere Gruppen angefügt sind, stürzt der Asterisk ab!


SNOM-Telefone

  • Voicemailbox
    Im General-Context sollte der Eintrag vmexten auf die VoiceMailMain in der extensions.conf zeigen, ansonsten kann man wartende Nachrichten nicht über die Mailbox bzw. Retrieve-Taste vom Telefon aus abrufen.
  • BLF (Busy Line/Lamp Field/Function)
    Wenn ein Telefon per BLF angezeigt werden soll, darf die Option Call-limit oder incominglimit bei Asterisk 1.2.x für dieses Telefon nicht gesetzt sein, eine Außnahme sind Cisco-Telefone. Bei Asterisk 1.4.x muss die Option call-limit für alle Telefone die mittels hint überwacht werden sollen gesetzt sein.
  • Text ins Display schreiben
    Bei Snom-Telefonen gibt es die Möglichkeit Text auf das Display zu schreiben, dies habe ich mit SNOM 360 und SNOM 370 getestet. Hierfür müssen am Telefon 2 bzw. 3 Optionen geändert werden.
    Identität <NR> -> SIP: Unterstützung für kaputte Registrar auf ein
    Erweitert -> QoS/Sicherheit: Pakete vom Registrar filtern auf aus
    Erweitert -> Verhalten: Desktop Nachriten mit Cancel Löschen an ermöglicht das Löschen aus verhindert das Löschen
    Je nach Anforderung sollte die letzte Option an oder aus geschaltet sein.

    Mit dem Tool sipsak kann man nun mittels des Aufrufes sipsak -i -M -B "<TEXT>" -s sip:<EXTENSION der konfigurierten Identität>@<IP des Telefons> eine beliebige Nachricht auf das Display schreiben.
    Wenn man dies nun passend scriptet kann man damit z.B. die Anzeige von Rufumleitungen oder so etwas wie SMS realisieren.


Zum Thema SNOM-Telefone gibt es im Bereich Telefone noch mehr zu finden.


VoiceMail-Verzeichnis

Da ich heute eine Anfrage bekommen habe, in welchem Verzeichnis der Asterisk-Server die VoiceMails ablegt, veröffentliche ich dieses auch hier mal:

/var/spool/asterisk/voicemail dort gibt es dann entsprechende Unterverzeichnisse für den Kontext und dann die einzelnen Mailboxen.

Beim Kontext default und dem Mailbox-Benutzer 100 wäre der Pfad also entsprechend:

/var/spool/asterisk/voicemail/default/100/INBOX für die neuen Voice-Mails


Zurück