VOIP FORUM

Voice over IP telekomunikation
It is currently January 6, 2009, 7:14 am

All times are UTC





Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: 2007-08-03 03:35:17
Online
Registered User

Joined: 2007-08-03 03:35:17
Hallo.

Ich habe hier ein Problem zum Thema Rufnummernsignalisierung im Verbund und
habe außer einem eigenen Patch noch keine wirklich saubere Lösung
gefunden.

Wir[1] haben ein VPN, in dem mehrere VoIP-Vermittlungsstellen sich
untereinander unter bestimmten Vorwahlen erreichen können. Diese Vorwahlen

sollten überall einheitlich sein, müssen es aber nicht. D.h. die
übliche
VPN-Vorwahl für Hamburg ist "94-", aber es hindert niemanden den

Telefonfrickler in Hinterposemuckel daran, die "42-" dafür zu
vergeben.

Die regionalen Vermittlungsstellen können ihrerseits wieder Durchwahlen zu

VoIP-Anschlüssen lokaler Mitglieder bereitstellen.

Nun möchte ich die Caller-IDs auf dem Weg durch die Vermittlungsstellen so

verändern, daß am Ende die Nummer angezeigt wird, die ich
wählen muss um
die Strecke in der Gegenrichtung zu wählen.

Z.B. rufe ich von meinem Telefon zuhause (201) über meinen Asterisk
(User-Durchwahl 828) und die regionale Vermittlung Hamburg (94) eine Nummer
in Köln (92) an. Der Rückruf muss ebenfalls über den Hamburger
Knoten
gehen, da nur dieser die Verbindung zu meinem Asterisk zuhause herstellen
kann, auch wenn IAX nach Verbindungsaufbau auf direkten Transfer migriert:

Telefon <- [Koeln] <- [Hamburg] <- [packbarthome] <- Telefon

Die letztlich angezeigte Caller-ID soll die gesamte Rückrufroute umfassen.

Da diese jeweils nur der angerufenen Seite bekannt ist, muss jede Station
der eingehenden Caller-ID ein Präfix voransetzen:

-> 94 -> 828 -> 201

Wenn z.B. die direkte Verbindung Hamburg -> Berlin nicht funktioniert, da
irgendwo im VPN eine Route abhanden gekommen ist, möchte ich einen Umweg
wählen können, um dem Verantwortlichen der anderen Seite Bescheid zu
geben:

[Berlin] <- [Koeln] <- [Hamburg] <- Telefon

Der soll natürlich die (hoffentlich auch in der Gegenrichtung)
funktionierende Route angezeigt bekommen, um darüber bei eventuellen
Rückfragen anrufen zu können:

-> 92 -> 94 -> 23

Da das Netz aus dezentral administrierten Vermittlungen mit
unterschiedlichen Versionen von Asterisk 1.1 bis 1.4, Callweaver-Varianten
und unterschiedlicher Paranoia der Admins besteht, wäre mir eine
allgemeine Lösung, die ohne Sourcecodeänderungen auskommt, am
liebsten.

Ich habe nur leider keine gefunden. Google fand wenig Sinnvolles, u.a.
Fragen ohne Antworten und ein paar Ansätze, die Konstrukte wie
X.,1,Set(CALLERID(number)=... verwenden. Das haut bei mir aber irgendwie
nicht hin, oder ich stelle mich da zu doof an.

Außerdem muss ich das Präfix abhängig vom Peer setzen,
über den die
Verbindung hereinkommt. Welche Art des Lookups wäre dafür sinnvoll?

Oder denke ich hier eh in die falschen Richtung?

Asterisk 1.4 habe ich dahingehend noch nicht angesehen, da mir das bei
ersten Tests noch zu oft um die Ohren geflogen ist.


Auf den Verbindungen zwischen den Vermittlungen benutzen wir meist IAX2.
Hauptsächlich weil die Telefon-Admins selten auch die Firewall-Admins sind

und man die Öffnung eines einzigen UDP-Ports besser argumentiert bekommt
als Connection-Tracking und NAT-Magie für SIP, auch wenn das Ganze
über ein
VPN mit privaten IP-Ranges läuft. IMO nehmen sich beide Protokolle nicht
viel und riechen beide etwas streng, nur anders. Aber das Internet ist auch
keine Blümchenwiese.

Daher habe ich als ersten Ansatz chan iax2.c geändert und Usern eine
Option
"calleridprefix" hinzugefügt, mit der das
Rückrufpräfix in der iax.conf
gesetzt werden kann. Leider ist unser Wiki z.Zt. etwas defekt und zeigt
keine <pre>-Blöcke an, eine Kopie des Patches habe ich hier
abgelegt:

http://hendrek.frell.ambush.de/~packbart/asterisk 1 2 chan iax2
calleridprefix.patch

Das funktioniert soweit gut.
Damit kann ich den regionalen Gruppen ihre Vorwahlen zuordnen:

[koeln]
...
calleridprefix


Top
 Profile
 
PostPosted: 2007-08-13 22:04:23
Online
Registered User

Joined: 2007-08-13 22:04:23
Hauke Lampe schrieb:
> Ich habe nur leider keine gefunden. Google fand wenig Sinnvolles, u.a.
> Fragen ohne Antworten und ein paar Ansätze, die Konstrukte wie
> X.,1,Set(CALLERID(number)=... verwenden. Das haut bei mir aber irgendwie
> nicht hin, oder ich stelle mich da zu doof an.

Nunja, das ist aber nach meiner Kenntnis die einzig reguläre
Möglichkeit,
die CallerID zu beeinflussen (also ohne Eingriff in die Sourcen).

Nehmen wir mal eines Deiner Beispiele:

Telefon <- [Koeln] <- [Hamburg] <- [packbarthome] <- Telefon


Dein Telefon gibt dann an [packbarthome] die 201 als CallerID.

[packbarthome] muss an [Hamburg] die 828-201 als CallerID geben, also setzt
Du in den Extensions von [packbarthome] in den Kontext, der für die
Verbindung zu [Hamburg] zuständig ist, dann
X.,1,Set(CALLERID(num)


Top
 Profile
 
PostPosted: 2007-08-14 12:08:41
Online
Registered User

Joined: 2007-08-14 12:08:41
Hauke Lampe wrote:


>
> Hat irgendwer einen Hinweis auf eine weniger invasive Methode für
mich,
> mit der ich das gewünschte Verhalten erreiche, ohne daß die
anrufende
> Seite wissen muss, unter welcher Vorwahl der angerufene Knoten den
Rückruf
> ermöglicht?

Hast Du Dir mal DUNDI angeschaut?

Halt halt den Nachteil das die anzurufende Nummer durch das DUNDI Netzwerk
geschickt wird und man daraus ableiten kann wer wann von welchem Server
angerufen werden wollte.

Evtl. über precache die Streuung der Anfragen verhindern.


Top
 Profile
 
Post new topic Reply to topic  [ 3 posts ] 

Who is online

Users browsing this forum: tc-jus@onlinehome.de (Tobias Crefeld),"Friedhelm Hufnagel" <friedhelm@menricus.de>,"Roland" <rbursch@gmx.de>,Ruediger Schwarz-Linek <dfn q4 2006.j.slcomm@spamgourmet.com>, 4 guests, odżywki Siedem mórz siedem lądów - Edyta Bartosiewicz podhale dekoracje okien asg, gry pozycjonowanie breloki http://www.patyk.kasutiki.pl/ Projektowanie wnętrz Lublin


New posts New posts    No new posts No new posts    Announce Announcement
New posts [ Popular ] New posts [ Popular ]    No new posts [ Popular ] No new posts [ Popular ]    Sticky Sticky
New posts [ Locked ] New posts [ Locked ]    No new posts [ Locked ] No new posts [ Locked ]    Moved topic Moved topic
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group