Auf der Suche nach der Antwort auf die Frage "Wie wird ein eingehendes IAX-Gespräch den Providerkontexten der iax.conf zugeordnet" habe ich folgendes auf
voip-info.org gefunden:
When Asterisk receives an incoming IAX connection, the initial call information can include a username (in the IAX2 USERNAME field) or not.
Das erklärt (zum Teil), warum ein eingehendes Gespräch über Portunity nicht zugeordnet werden kann: Mir wird von Portunity kein username übermittelt.
Es geht in der Erklärung aber noch weiter:
In addition, the incoming connection has a source IP address that Asterisk can use for authentication as well.
Nur wird leider nicht weiter daruf eingegangen, wie die IP-Adresse des Absenders zur Zuordnung verwendet werden kann... denn eine Absender-IP erhalte ich sehr wohl, das könnte mir also weiterhelfen.
Mir ist also nun klar, warum und wie die Zuordnung bei dus.net und fwd funktioniert: Beide schicken einen username mit, der mit dem Kontextnamen in der iax.conf identisch ist. Somit kann dann auch erfolgreich in den entsprechenden Kontext im Dialplan verzweigt werden.
betateilchen schrieb:
Bei Providerkontexten sollte man übrigens nicht "type=friend" verwenden, sondern "type=peer" (ja ich weiß, daß es an vielen Stellen anders steht - aber glaub mir das einfach mal, ohne jetzt große Erklärungen dafür haben zu wollen) Und zwar "type=peer" sowohl bei eingehenden wie abgehenden Kontexten!
Wenn ich das mache, findet Asterisk den Providerkontext leider nicht mehr. Es funktioniert nur mit type=user (Edit: und auch mit type=friend - since a friend can act as a user), nicht aber mit type=peer. Das wird auf voip-info.org aber auch so erklärt:
If a username is supplied, Asterisk does the following: Search iax.conf for a "type=user" entry with a section name (eg [username]) matching the supplied username
So lange ich kein schlagendes Argument für type=peer finde, belasse ich es nun eben bei type=user ;-)
Zurück zum eigentlichen Problem: Portunity sendet keinen username mit, deshalb landet der Anruf im Kontext [guest]. Auf voip-info.org wird erwähnt, dass auch die Absender-IP zur Zuordnung verwendet werden kann.
Aber wie?
Edit: Oder geht das nicht und ich müsste Portunity überreden, einen username mitzuschicken?
Ralph