Ecotel VoIP Verbindungsschwierigkeiten mit Asterisk

derDaywalker

Neuer User
Mitglied seit
24 Jul 2007
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Moin

Ich hoffe, mir kann jemand weiterhelfen, da es doch eine sehr spezielle Frage ist.

Ich versuche jetzt schon seit längerem das Ecotel VoIP Gerät mit dem Asterisk-Server gescheit zu verbinden. Ich möchte, dass sich Ecotel über die verschiedenen VoIP Leitungen (V1 ... V8 ) zum Asterisk-Server verbindet. Hierzu habe ich im Asterisk-Server die Benutzer angelegt (bzw. sip1, sip2 etc.).
Mein Ziel: Vom Asterisk soll anhand verschiedener Telefonnummern dann ein bestimmter Sip-Account bzw. eine bestimmte Ecotel VoIP-Leitung verwendet werden, um basierend auf der VoIP-Leitung in der "Routingtabelle" von Ecotel zu unterscheiden, von welcher VoIP-Leitung der Anruf kommt um somit zu entscheiden, wohin er weitergeleitet werden soll.
Beispiel:Wenn also von Asterisk aus von sip1 (und somit die VoIP 1 Leitung) telefoniert wird, soll G1 verwendet werden. Wenn von sip2 (VoIP 2 Leitung) telefoniert wird, dann soll G2 verwendet werden.
Das Routing in Ecotel ist ja recht einfach (wenn es denn so gehen würde):
Code:
(oV1d*#)     n     G1:d
(oV2d*#)     n     G2:d

Jetzt ist natürlich die Frage, ob Ecotel VoIP denn überhaupt unterscheiden kann, von welcher VoIP-Leitung das Gespräch ankommt. Denn das Problem ist, es wird immer versucht vom lokalen VoIP Kanal die Verbindung aufzubauen (und da keine Wahlregel dafür in Ecotel vorhanden ist, scheitert dies natürlich).


Hier mal mein Setup und die Configs:
Ecotel VoIP (IP: 192.168.10.11)
Asterisk Server (IP: 192.168.10.22)

sip.conf
Code:
[sip1]
type = peer
context=default
host = dynamic
outboundproxy=192.168.10.11
port = 5060
username = sip1
fromuser = sip1
secret = sip1
fromdomain = 192.168.10.22

extensions.conf
Code:
[default]
exten => _11111.,1,Dial(SIP/XXTelefonnummerXX@sip1)

In Ecotel muss der Benutzer ja nicht existieren ("User Registration").
Und die Ecotel Gateway Configuration sieht folgendermaßen aus:

SIP Schnittstelle --> Leitung 1 (Client/Server; 3. Eintrag von oben). Zugangsdaten:
Code:
Domain A (RX/TX) feste IP: 192.168.10.22
Proxy feste IP: 192.168.10.22
Username (RX/TX): sip1
Registrierung von Ecotel am externen Gerät aktiviert: am Registrar 192.168.10.22
Authentifizierung von Ecotel am externen Gerät:
  mit Auth-Id: sip1
  und dem Passwort: sip1
Das gleiche natürlich für Leitung 2, mit sip2 als Daten.

Zusammenfassend: Mein Primäres Ziel ist es, dass Gespräche an die verschiedenen Ecotel VoIP-Leitungen geroutet werden um dann in Ecotel zu entscheiden wie weiter damit verfahren werden soll. Ist dies überhaupt möglich?

Grüße und danke für die Hilfe!
Dennis
 
Hinweis für alle: Es geht hier um ein Vierling Ecotel GSM Gateway.

Nein, das klappt nicht, wie Du wohl schon festgestellt hast. Eingehend (!) gibt es nur V = VoIP, nicht jedoch eine Unterscheidung a la V1 oder V2. Daher bleibt Dir nur eine Verteilung anhand der gewählten Rufnummer oder aber anhand der Caller ID des SIP Anrufes. Beispiel:

Code:
(oV:d01[5-7]*)       n	G3:#31#d
(oV:999d01[5-7]*)   n	G3:#31#d

Bedeutet:
1. Ein eingehendes SIP Gespräch ohne Caller ID number wird an G3 geroutet wenn das deutsche Mobilfunknetz angewählt wurde. Mit #31# wird dazu noch die Rufnummernunterdrückung aktiviert.

2. Ein eingehendes SIP Gespräch mit der Caller ID number 999 wird an G3 geroutet wenn das deutsche Mobilfunknetz angewählt wurde. Mit #31# wird dazu noch die Rufnummernunterdrückung aktiviert.
 
Zuletzt bearbeitet:
Hallo Ottone

Danke für den Hinweis! Werde es am Montag gleich mal ausprobieren. Aber wenn das mit der Caller-ID gut klappt, dann passt es ja super. Denn anhand der gewählten Rufnummer etwas auszuwählen bringt mir nichts, da die Netze sich ja so nicht mehr klassifizieren lassen. Und danke auch mit der Rufnummerunterdrückung, damit hätte ich mich als nächstes beschäftigt ;-)

Grüße
Dennis
 
Hi

Das mit der selektiven CallerID Erkennung hat wunderbar funktoniert, nur das mit der Rufnummerunterdrückung klappt irgendwie nicht (siehe unten).
Damit andere vielleicht nicht auch noch Zeit verschwenden: In Asterisk klappt das mit dem Setzen der CallerID nicht. Ich hatte zunächst folgendes versucht:

Code:
exten => 1111,1,Set(CALLERID(num)=9999)
exten => 1111,2,Dial(SIP/${EXTEN}@sip1)
In der GSM-Box stand dann immer unter Calling Party (bei Monitor) "unknown" da.

Die Lösung für dieses Problem (vielleicht ist es anderen ja klar, ich hatte aber den Fehler gemacht...): Man muss gar nicht die CallerID setzen, sondern den Sip-Account so nennen, d.h. in der Sip.conf:
Code:
register => 111111:[email protected]/111111

[111111]
type=friend
context=default
username=111111
fromuser=111111
secret=123456
etc....

Damit klappt dann auch die Erkennung in der GSM-Box.

Ein Problem habe ich allerdings noch, das mit der Rufnummerunterdrückung funktioniert irgendwie nicht. Falls ich als Ziel "G1:#31#d" eintrage, kommt folgende Fehlermeldung in Asterisk:

Code:
-- Got SIP response 410 "NO MSG" back from 192.168.10.11
    -- SIP/222222-0000000b is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Auto fallthrough, channel 'Console/dsp' status is 'CONGESTION'

Sobald ich die #31# wieder entferne, funktioniert es wieder. Habe unter Gateway Configuration bei den GSM-Leitungen für abgehende Rufe die erste Option ausgewählt ("wird ausschließlich selektiv im Routing mit *31# und #31# festgelegt (Rufabbruch zugelassen)"). Dabei ist es unerheblich welche SIM-Karte verwendet wird. Habe zwei o2 und eine eplus-Karte ausprobiert.

Grüße
Dennis
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
245,753
Beiträge
2,239,187
Mitglieder
372,948
Neuestes Mitglied
b0041920
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.