Asterisk <-> elmeg ICT 880 (VoIP-Modul)

Fux

Mitglied
Mitglied seit
3 Jun 2004
Beiträge
440
Punkte für Reaktionen
1
Punkte
18
Hallo zusammen,


versuche gerade eine elmeg ICT 880 mit meinem Asterisk via VoIP-Modul zu verbinden. Klappt leider erst teilweise.

Was nicht geht:

- Asterisk kann sich nicht als Client an ICT registrieren
- Asterisk kann keine internen Telefone via SIP an der ICT anrufen
- Asterisk kann keine externen Rufnummern via SIP über die ICT (und dann ISDN) anrufen.

Was geht:

- ICT meldet sich als Client am Asterisk (als Provider eingetragen) an
- interne Tel. können via ICT -> SIP -> Asterisk (als Provider) -> SIP -> SIP-Provider nach draußen telefonieren.


Habe diverse Einstellungen für die Registrierung bzw. Nutzung das Asterisk als Client an der ICT probiert. U.a. auch den im Forum gefundenen Tipp, daß der Username gleich der internen Nummer sein muß.
ICT antwortet auf den Registrierungsversuch immer mit "416 Unsupported Uri Scheme".

Beim Versuch, die bei Externen Rufnummern in der ICT beim SIP-Provider (=Asterisk) eingetragene Rufnummer anzurufen mittels DIAL(SIP/ict/XXXX) erhalte ich von der ICT wahlweise die FM "404 Not Found", "501 Not Implemented" oder "503 Service Unavailable". Asterisk meldet in diesem Fall "SIP/... is circuit-busy".


Hat jemand schonmal erfolgreich Asterisk mit ICT 880 via VoIP-Modul gekoppelt?

Wie lauten die korrespondierenden Einträge in der sip.conf und extensions.conf?


Vielen Dank im Voraus!
Fux
 
Nach weiteren erfolglosen Versuchen, halte ich es nun für möglich, daß es an der Firmware - besser gesagt - an nicht passenden Firmware-Versionen von Anlage und Modul liegen könnte.

Die Anlage hat V 7.61 D. Das VoIP-Modul 7.61_RC1.

Anlage und Modul stammen aus verschiedenen Quellen. Das mit der Firmware hatte ich bisher nicht bedacht.

Leider funzt mein alter elmeg-VIP-Zugang nicht mehr. Neue Registrierung eingeleitet.

Mal sehen, ob's dann nach Einspielen passender Firmware(s) besser klappt mit dem Telefonieren...


Fux
 
Hast Du mittlerweile eine Lösung für das Problem gefunden? Das selbe trat hier auch auf. Allerdings mit beliebigen Telefonen an der Elmeg.

Die Lösung war von der Registrierung mit DNS Namen as in [email protected]l auf IP Adressen umzusteigen: [email protected] tut wunderbar.

Nach weiteren erfolglosen Versuchen, halte ich es nun für möglich, daß es an der Firmware - besser gesagt - an nicht passenden Firmware-Versionen von Anlage und Modul liegen könnte.

Die Anlage hat V 7.61 D. Das VoIP-Modul 7.61_RC1

Das sind die jeweils aktuellsten Versionen der Elmeg Firmware.
 
Zuletzt bearbeitet:
Die Lösung war von der Registrierung mit DNS Namen as in [email protected]l auf IP Adressen umzusteigen: [email protected] tut wunderbar.

Na, das mußte ich doch gleich mal probieren. Und siehe da: Registrierung funzt. Unklar ist es natürlich trotzdem. Und unschön auch, da ich "hart verdrahtete" IPs grundsätzlich vermeide.

Das sind die jeweils aktuellsten Versionen der Elmeg Firmware.

Ich hatte angenommen, das "RC1" beim VoIP-Modul stünde für eine Beta-Version.

Danke für den Hinweis mit den IPs!

Werde mich jetzt ans Testen der Verbindungen machen.

Fux
 
Ich kann noch immer nicht per SIP in die Anlagae hinein telefonieren.

Habe versucht, die unter Externe Rufnummern/SIP-Provider eingetragene Rufnummer mittels Dial(SIP/$RUFNR@$IP_DER_ICT880,60) zu wählen. Bekomme als Fehler jedoch immer "404 Not Found" von der Anlage.

Die Anlage ist am Asterisk-Server registriert.


Fux
 
das gleiche Problem habe ich mittlerweile auch, allerdings erst seit einem Firmware-Update ... ich hatte zuvor die 7.30 bzw. 7.32 ... damit funktionierte ein Anruf vom Asterisk mit folgendem Dial-String:

exten => whatever,1,Dial(SIP/Rufnummer@Elmeg)

Damit hatte dann das an der Elmeg angeschlossene Telefon mit der internen Nummer "Rufnummer" geklingelt. Seit update auf die Version höher als 7.6 funktioniert das nicht mehr.
Man kann nun ein Abwurfziel für den SIP Provider (Asterisk) angeben, dann landen aber alle Telefonate an die Elmeg da drauf, was ich ja nicht will. Bist Du hierbei weiter gekommen?

mit freundlichem Gruß
Maddin
 
Hi Kruemeltee,


unsere ICT hat die Firmware 7.62 D drauf.

Ich wähle folgendermaßen vom Asterisk einen internen Apparat an:

exten => s,6,Dial(SIP/${INTERNE_NUMMER}@ictcapi${CALLER_ID},60)


in meiner sip.conf habe ich für jede Caller-ID einen eigenen ictcapi-Abschnitt nach folgendem Schema:

Code:
[ictcapi13]
type=friend
username=13
secret=XXXX
host=111.222.333.444
context=firma
nat=no
qualify=2500
amaflags=billing
insecure=very

Ich hatte nach langem Probieren herausgefunden, daß die ICT Anrufe mit einer bestimmten Caller-ID nur zuläßt, wenn der Anrufende auch mit den dazugehörigen Daten angemeldet ist.

Ein Anrufen eines internen Teilnehmers vom Asterisk aus, so daß der Asterisk als SIP-Provider für die ICT fungiert, habe ich gar nciht hinbekommen. Deshalb mußte ich diesen Umweg gehen und mein Asterisk ist gegenüber der ICT gleichzeitig SIP-Provider als auch SIP-Client.
Bissel umständlich aber es läuft so leidlich.

Was bei mir nach wie vor nicht stabil funzt, ist das Rauswählen von einem internen Teilnehmer an der ICT über den Asterisk als SIP-Provider.


Grüße
Fux


ERGÄNZUNG:

Mir ist noch was wichtiges eingefallen.

Ich wähle zum Teil auch vom Asterisk als SIP-Provider in die ICT rein.

Dann funzt das ganze so:

Dial(SIP/ictzap,60)


wobei ictzap in der sip.conf definiert ist als:

Code:
[ictzap]
type=friend
username=ictzap
secret=ganzgeheim
host=dynamic
dtmfmode=rfc2833
context=firma
nat=no
qualify=2500
amaflags=billing
insecure=very


In der ICT habe ich außerdem Anmeldung eines Proxys erlauben aktiviert (beim SIP-Provider). Und der asterisk registriert sich ebenfalls an der ICT.

Obwohl man unter SIP-Provider in der Konfig der ICT verschiedene externe Rufnummern eintragen kann, ist es mir bisher nciht gelungen, diese gezielt anzurufen. Wenn das funktionieren würde, könnte man darüber dann auch gezielt interne Teilnehmer anrufen.

Die von mir oben zu erst erwähnte Methode hat ja den nachteil, daß sie die Caller-ID des Anrufers ersetzt durch eine interne Nummer.

Alles in allem also unbefriedigend.
 
Zuletzt bearbeitet:
also ... ich habs jetzt mit der alten Firmware gelöst und das funktioniert in beiden Richtungen ganz gut ... es gibt bei der Sache zwar immer noch einen Haken, aber den bin ich auch noch Willens zu lösen. Vielleicht ist das ja auch interessant für Dich:

Schritt 1, die alte Firmware
die letzte Firmware von Funkwerk mit dem alten SIP-Stack ist die Version 7.36 welche es sowohl für die Elmeg selbst als auch für das Gateway gibt (entweder freundlich bei Funkwerk nachfragen oder per PN an mich). Diese Firmware hat nur den Haken, daß Du dafür den "alten" Professional Configurator benötigst. (v7.30) Nimmst Du hingegen den neuen und führst ein Update durch, fliegt Dir die Konfiguration des Gateways um die Ohren (auch dieses Tool gibts noch auf Nachfrage bei Funkwerk oder per PN von mir)

Schritt 2: Elmeg vorbereiten
Standorte
Zunächst benötigt man einen Standort (ist nicht wirklich zwingend erforderlich, sieht aber besser aus und wenn man keinen anlegt kanns irgendwie manchmal daneben gehen, aber in 90% der Fälle funktionierts auch ohne). Bei diesem Standort gibt man intuitiv die Dinge an, die man braucht, Bandbreitenbeschränkung etc. ... wichtig ist bei der IP die IP des Asterisk einzutragen, UDP und Port 5060 versteht sich von selbst.
Bei den Codecs habe ich "individuelle Codecauswahl" eingestellt, des weitereren "beste Sprachqualität" und den I336 Codec, nicht den RFC Codec (unten rechts).

SIP-Provider
Hier ähnlich vorgehen wie bei der Erstellung des Standortes, die IP des ASterisk, einen sinnvollen Namen, Port und UDP versteht sich wieder von selbst, bei Standorten nun den zuvor angelegten "Asterisk-Standort" auswählen, dann hab ich "early media support" aktiviert und "Rufnummernunterdrückung ausschalten".
In der zweiten Registerkarte läuft Asterisk bei mir als Rufnummernblock. Die Länge der interessanten Ziffern wird ebenfalls eingestellt (ob hierbei ein MIX von 2-stelligen und 3-stelligen machbar ist, kann ich leider nicht sagen), Proxy und STUN bleiben leer und bei den Rufnummern stellt man auch nichts weiter ein. Bei den Codecs habe ich das gleiche eingestellt wie beim Standort auch.
Wichtig ist allerdings, daß der Asterisk ein anderes Bündel bekommt, als bisher belegt sind. Da bei mir Bündel 1 und 2 bereits für die ISDN Leitungen belegt sind bekam Asterisk als SIP Provider bei mir die 3.

die Telefone
Bei den Teilnehmer ist nun erst einmal nur wichtig, daß sie unten links bei der Bündelbelegung als ersten den ASterisk drin haben (also Bündel 2), dann die anderen (in welcher Reihenfolge spielt keine Rolle).
Hintergrund: Wenn sich ein Telefon ein "Amt" holt (entweder mit der 0 oder mit "automatischer Amtsholung") und versucht dann eine Rufnummer zu wählen, geht diese erst an den Asterisk. Sagt dieser "nö, kann ich nicht", dann probiert die Elmeg es auf dem nächsten angegebenen Bündel.
Die Gezielte Bündelbelegung kann ausgeschaltet bleiben. Bei der ausgehenden Rufnummer wird beim Asterisk nichts eingestellt, das Telefon soll ja seine eigene interne Rufnummer übermitteln.

Asterisk vorbereiten
in der sip.conf benötigst Du einen Account für die Elmeg, ähnlich wie Du es bereits vorgeschlagen hast.

Code:
[Elmeg]
type=friend
username=Elmeg
secret=XXXX
host=111.222.333.444
context=firma
nat=no
qualify=2500
amaflags=billing
insecure=very
disallow=all
allow=ulaw
allow=[den anderen Codec]
context=wasAuchImmer

Wichtig ist hierbei, daß bei Benutzername und bei der Bezeichnung des Clients (das Ding in den eckigen Klammern oben) das gleiche steht. Das ist Dein Benutzername mit der sich die Elmeg anmelden darf. Das Passwort ist ebenfalls frei wählbar.

Wichtig ist hierbei, daß ein Context definiert ist (sonst nimmt er den default). Alle von der Elmeg gewählten Rufnummern werden jetzt erst einmal durch den Context gejagt, der bei der Elmeg angegeben wurde. Wird die gewählte Rufnummer hier nicht durch eine Extension gefunden (oder wird sie gefunden und ist besetzt) geht die Elmeg später bei seinen Bündeln weiter und versucht es bei dem nächsten Bündel.

die Registrierung
Wird nun die Elmeg neu gestartet wirst Du im Asterisk in der CLI Konsole ein "Registered Elmeg FEP Sip Proxy V4.0" oder etwas vergleichbares finden, und mit Hilfe von "sip show peers" solltest Du auch sehen, ob die Elmeg erfolgreich dran ist. Wenn das der Fall ist, kannst Du bereits von der Elmeg lostelefonieren und landest automatisch im Context, den Du bei "Elmeg" angegeben hast. Hier wird jetzt die Nummer ausgewertet und ggf. an das entsprechende Telefon weiter geleitet. Die Elmeg verhält sich jetzt also wie ein SIP Telefon.

Telefonieren
Nehmen wir an, in der Elmeg existieren 2 Telefone (die 20 und die 21), im Asterisk hingegen sind ebenfalls zwei Telefone (die 30 und die 31).

von Elmeg an Asterisk - automatische Amtsholung vom Tel.: <20>
Hast Du bei den Telefonen "automatische Amtsholung" aktiviert reicht es jetzt aus, die 30 oder die 31 zu wählen. Du solltest dann automatisch beim Asterisk landen und der sollte Dich (entsprechend Deines Dialplans) an die Telefone 30 und 31 weiter leiten.
Willst Du hingegen das interne Telefon an der Elmeg (die 21) anwählen, musst Du nun *21 wählen. Dann landest Du beim internen an der Elmeg.
Rufst Du hingegen eine aussen stehende Rufnummer an (030-555-21) dann versucht zunächst die Elmeg den Asterisk zu fragen. Dieser wird in der CLI-Console ausgeben "Call by "Elmeg" to 03055521 rejected, extension not found" oder etwas in der Art und gibt an die Elmeg zurück, diese versucht es dann auf einem anderen Bündel. Das ganze kann ein paar Sekunden dauern. Die Elmeg hat standardmäßig glaub 5 Sekunden Wartezeit bis das Wahlende "ermittelt" wurde, dann noch ca. 2 Sekunden bis Asterisk zurück meldet "gibts nicht" und dann rauswählen ... also etwas Geduld. Bei den Asterisk-Telefonen erscheint hierbei im Display die interne Rufnummer des an die Elmeg angeschlossenen Telefons.

von Elmeg an Asterisk - normal vom Tel.: <20>
Hierzu ist es das gleiche, lediglich musst Du nun noch die 0 vorwählen. Um also ein an den Asterisk angemeldetes Telefon zu erreichen musst Du 030 bzw. 031 anrufen. Der Rest bleibt gleich.

vom Asterisk an die Elmeg
Hier kannst Du im Dialplan nun folgendes eingeben:

Code:
exten => 20,1,Dial(SIP/20@Elmeg,,tT)
exten => 21,1,Dial(SIP/21@Elmeg,,tT)
Hiermit würde nun die direkte interne Nummer an der Elmeg angerufen werden. In Display bei der Elmeg erscheint das, was Du als "CALLERID(num)" eingegeben hast, i.d.R. die Nummer Deines Telefons.

Was geht bei der Variante noch nicht

SIP Telefone an die Elmeg
Scheinbar hat diese Firmware noch ein paar Macken mit den SIP Telefonen. Bisher habe ich es noch nicht hinbekommen, daß sich ein SIP Telefon an die Elmeg anmelden kann. Es kommt zwar in der Terminalsitzung ein "Registered successfully" allerdings immer als guest 0, guest 1, etc. D.h. die Telefone laufen unter dem Gast-Account und können zwar rauswählen, aber nicht angerufen werden! (Da arbeite ich gerade noch dran)

Weiterleitung eines Telefons von Elmeg an Asterisk
Falls mich jemand direkt am Asterisk angerufen hat, kann ich ganz fleißig das Telefonat an ein anderes Telefon weiterleiten bzw. transferieren. Dies kann auch ein Telefon an der Elmeg sein. Ich muss das Telefon, zu dem ich weiter leiten möchte, nur per Asterisk anwählen können.
Anders herum klappt es noch nicht, werde ich also an der Elmeg angerufen und ich möchte das Gespräch an ein am Asterisk angeschlossenes Telefon verbinden geht dies leider noch nicht. Das soll zwar durch die Einstellung "Zusammenschalten externer Rufnummern" in der Elmeg unter Allgemein, System machbar sein, allerdings klappt das bisher noch nicht. Leider. Aber auch daran sitze ich noch.

Wenn ich diese beiden Fehler gelöst haben sollte, dann bleibe ich, trotz aller Warnungen seitens Funkwerk bei der alten Firmware.

Vergleich alte Firmware, neue Firmware
Bei der neuen Firmware klappt das anmelden der SIP-Telefone gut und diese können auch angerufen werden (melden sich also nicht als Gast an). Die Problematik mit dem Weiterleiten an eine externe Rufnummer habe ich noch nicht versucht. Allerdings kann ich derzeit die Elmeg vom Asterisk aus nicht anrufen. wobei letzteres nicht ganz korrekt ist, denn ich kann sie schon anrufen, nur nicht gezielt. Ich lande immer in einem Abwurfziel, welches ich vorher definiert habe beim Sip-Provider bzw. global. Dh. egal welche Nummer ich an der Elmeg anrufe, ich lande immer wieder bei ein under der selben. Es scheint als würde die Elmeg meinen Ruf nicht verstehen. Hierzu habe ich bereits einen Trace der SIP Pakete durchgeführt. Es kommt vom Asterisk an die Elmeg ein ordnungsgemäßes INVITE an das Telefon, welches ich anrufen will. Gleich danach schickt allerdings die Elmeg ein INVITE an mein Abwurfziel, welches dann auch klingelt und mit dem ich dann auch sprechen kann.
Ich würde, einfach aus persönlichen Gründen, schon gern die Elmeg auf dem neuesten Stand der Firmware halten, aber so lange ich diese nicht anrufen kann, werd ich das vermeiden und mich lieber um meine kleinen Probleme mit der alten Firmware kümmern.

mit freundlichen Grüßen
Maddin

P.S.: Du hast mir übrigens einen sehr sinnvollen Tip gegeben, und den werde ich Montag gleich einmal ausprobieren ... nämlich ob ein Telefon erst bei der Elmeg registriert sein muss um Anrufe an interne Rufnummern zu tätigen. Vielleicht sollte ich mir auch noch einmal die Thematik mit dem Durchwahlblock anschauen, vielleicht habe ich da noch etwas falsch eingestellt.
 
Hallöchen Fux ...

mich erreichte heute folgende Nachricht von Funkwerk:

wenn sich die ICT registriert, so verwendet diese einen speziellen Contact, welcher bei eingehenden Rufen wieder als Request-URI von der Gegenstelle verwendet werden muss. Das tut jedoch Asterisk nicht, weshalb die Zuordnung zu dem "passenden" Provider dann nicht klappt.

Da die Elmeg sich beim Anmelden an den Asterisk mit einem Account anmeldet muss auch der Asterisk von dieser Nummer aus zurück rufen.

Fügt man also ein "fromuser=bla" in den Account der Elmeg mit ein und setzt hierbei das "bla" auf den benutzernamen mit dem sich die Elmeg anmeldet, dann kann ich ganz fleißig auch mit der neuen Firmware die Elmeg spezifisch anrufen. hierbei geht mir allerdings die information flöten, wer denn angerufen hat und ich sehe in den telefonen nur ein "unknown".

Die Frage ist nun, wie setzt man den REQUEST-URI korrekt ... da werde ich aber noch einmal im Asterisk Forum einen konkreten Post starten.

Gruß Maddin
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.