.titleBar { margin-bottom: 5px!important; }

[GELÖST] Neue IAX-Syntax bei Asterisk 1.2

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von TomS, 2 Jan. 2006.

  1. TomS

    TomS Neuer User

    Registriert seit:
    13 Nov. 2004
    Beiträge:
    199
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    #1 TomS, 2 Jan. 2006
    Zuletzt bearbeitet: 2 Jan. 2006
    Hi,

    ich komme irgendwie mit der neuen IAX-Syntax von Asterisk 1.2 nicht klar.
    Bisher (1.0.10) habe ich immer wie folgt über IAX nach draußen gewählt:
    exten => _70Z.,1,Dial(IAX2/sipdiscount/0049${EXTEN:2})

    Seit dem Update klappt das nicht mehr.
    Laut Update-Doku hat sich die Syntax wie folgt geändert:
    Also sollte doch IAX2/sipdiscount/0049... zu IAX2/sipgatediscount-0049... werden.
    Mit exten => _70Z.,1,Dial(IAX2/sipdiscount-0049${EXTEN:2})
    kommt aber nur der Fehler dass sipdiscount-0049... nicht gefunden wurde :-(
    Code:
        -- Executing Dial("SIP/phone27-52bd", "IAX2/sipdiscount-00490891234") in new stack
    Jan  2 21:19:57 WARNING[13239]: chan_iax2.c:2750 create_addr: No such host: sipdiscount-00490891234
    Jan  2 21:19:57 NOTICE[13239]: app_dial.c:1022 dial_exec_full: Unable to create channel of type 'IAX2' (cause 3 - No route to destination)
    
    Kann mir jemand einen Tip geben?
     
  2. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Syntax der Channel-Namen hat sich geändert. Das hat mir der Syntax, die du beim Dial verwenden musst, nichts zu tun. An der Dial-Syntax hat sich AFAIK nichts geändert.
     
  3. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    ich würde sagen, der hier beschriebene Fehler ist zum einen auf eine falsch aufgebaute IAX.conf zurückzuführen.

    Aber ohne eine Wiedergabe der IAX.conf hier im Thread läßt sich das nicht mit Sicherheit sagen.

    übrigens sieht bei mir die Syntax so aus:

    exten => bla,1,Dial,IAX2/user@provider/0049<rufnummer>|55|r

    was voraussetzt, daß es in der iax.conf einen Context [provider] gibt, in dem dann u.a. auch das Userpasswort drinsteht.
     
  4. TomS

    TomS Neuer User

    Registriert seit:
    13 Nov. 2004
    Beiträge:
    199
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hi Maik,

    bei Dial geb ich doch immer den Channel an über den ich wähle (also ZAP/gruppe/Nummer oder SIP/phone etc.). Hab ich da was übersehen?

    Hi Betateilchen,

    Dein Beispiel entspricht der 1.0-Channel-Syntax wie ich sie bisher hatte (nur hatte ich den Usernamen in die iax.conf gesetzt - das entspr. zwar nicht der wiki-doku, wird aber im oreilly-asterisk-buch so beschrieben und lief bisher).
    Vieleicht hätte es schon unter 1.0 so nicht funktionieren sollen wie ich das gemacht habe ;-)

    Ich werd mal probieren den Username wie in Deinem Beispiel im Dial-Befehl zu wiederholen. Vieleicht liegts daran.

    hier die dazugehörige iax.conf (der relevante Teil - der Rest ist default)
    Code:
    [sipdiscount]
    type=peer
    host=sip.sipdiscount.com
    username=test
    secret=test
    auth=md5
    disallow=all
    ;allow=gsm
    allow=ulaw
    
     
  5. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Du gibst nicht den Channel an, sondern die Technologie (SIP IAX2 ZAP oder was auch immer ...)

    Den Channel generiert der Asterisk selbst - und den Namen dazu auch. Aber wie der Channel dann letztendlich heißt, muß Dich im Normalfall überhaupt nicht interessieren.
     
  6. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Dann sollte etwa so deine extensions.conf aussehen:

    [sipdiscount]
    exten => _00X.,1,Dial(IAX2/test@sipdiscount/${EXTEN},60,Tt)
    exten => _00X.,2,Wait(2)
    exten => _00X.,3,Goto(1)
    exten => _00X.,4,Hungup
    exten => _00X.,102,Wait(4)
    exten => _00X.,103,Goto(1)
    exten => _00X.,104,Hungup

    Es wird angewählt, bei Fehler wird erneut angewählt. Das hilft, wenn mal wieder alle Leitungen belegt sind.
     
  7. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Setzt aber voraus, daß den Endgeräten auch der Context [sipdiscount] zugewiesen ist bzw. dieser Context in deren Standard-Context inkludiert wird - sonst funktioniert das nicht.

    Ist im übrigen die gleiche Syntax wie auch schon von mir vorgeschlagen :wink:

    Das mit dem Wiederholen der Wahl ist zwar nett - aber mich würde es nerven. Lieber eine Signalisierung, die mir als Anwender die Wahl läßt, zu entscheiden, wie ich weitermache.
     
  8. madiehl

    madiehl Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    438
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    müsste das nicht "Hangup" heissen?
     
  9. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Würde dann vielleicht ohne Fehler funktionieren, sind aber eh nur Platzhalter.
     
  10. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    #10 kombjuder, 2 Jan. 2006
    Zuletzt bearbeitet: 2 Jan. 2006
    Jaein, das ist der Rauswahlbefehl der über goto aus der Providerauswahl angesprungen wird.
     
  11. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Mach es doch nicht so kompliziert ... davon war doch bisher gar nicht die Rede. Und solche Aussagen tragen doch mehr zur Verwirrung eines Users bei als daß sie ihm bei der Lösung eines solchen Grundlagenproblems helfen würden :roll:
     
  12. TomS

    TomS Neuer User

    Registriert seit:
    13 Nov. 2004
    Beiträge:
    199
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hi Betateilchen,

    danke für die Erklärung mit den Channels. Ich hab einfach die Begriffe "channel-type+identifier" des Dial-Befehls mit (internen) "Channel" verwechselt (ich halte diese Namensgebung für die Begriffe für recht unglücklich wg. Verwechslungsgefahr).
    Dann hätte ich eigentlich nichts an der funktionierenden 1.0-Config ändern müssen. Ich hab jetzt trotzdem euren Beispielen folgend den username vor den Provider gehängt.

    Nun funktionierts.

    @kombjuder:
    Guter Tip mit dem Goto. Für diesen Provider manchmal sehr sinnvoll.

    @alle: Danke für Eure Unterstützung!