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

[gelöst, dank kombjuder]IAX.conf: Wie Provider ein- und ausgehend konfigurieren?

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von MET, 2 Feb. 2009.

  1. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    #1 MET, 2 Feb. 2009
    Zuletzt bearbeitet: 5 Feb. 2009
    Im Asterisk-Kurs gibt es ein Beispiel, wie in iax.conf ein Provider nur ausgehend zu konfigurieren ist (VoipJet). Habe zuerst versucht ein- und ausgehend "in Anlehnung" an das Vorgehen in der sip.conf zu realisieren; dies geht so aber nicht. Mit Hilfe von Google versuchte ich dann ein Beispiel zu finden, das zeigt wie ein iax-Provider ein- und ausgehend richtig zu konfigurieren ist; dies brachte aber nichts Brauchbares.

    Falls jemand hier auf seinem Asterisk einen iax-Provider aus- und eingehend konfiguriert hat, wäre ich um die vorhandenen Einträge in der iax.conf und der extension.conf dankbar.
     
  2. phponline

    phponline Neuer User

    Registriert seit:
    26 Mai 2005
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  3. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Du kannst den Eintrag aus dem Forumbeispiel nehmen, brauchst aber noch eine Zeile

    register => user:passwort@provider aber kein /irgendwas wie bei sip.
     
  4. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    #4 MET, 2 Feb. 2009
    Zuletzt bearbeitet: 2 Feb. 2009
    Zuerst einmal "Dankeschön" für Eure Hinweise.

    Dies betreffend ".../irgendwas" ist etwas weniges was ich bei den Versuchen "in Ahnlehnung an Sip" irgendwann auch bemerkt habe; iax schluckt dies nicht bzw. der Account kann sich einfach nicht registrieren. Was ich jedoch nicht wusste ist, dass es anscheinend vollständig genügt diesen Teil wegzulassen; ich war mir nicht sicher, ob dort ev. einfach etwas anderes hätte eingetragen werden müssen.

    Jetzt zum Konfigurationsbeispiel im Asteriskbuch. Bei dem wenigen, was ich mit Google gefunden habe, war ein Fall (fwd) bei dem in der iax.conf ein ein- und ein ausgehender Ast für das gleiche Account angegeben wurde. Ich nahm an, dass dies ev. etwas ähnliches ist wie im Asterisk-Kurs die beiden Einträge [sipgate] und [sipgate_in]. Im Falle von fwd musste weiter auch der Kontext (im Beispiel vom Asteriskbuch [ast1] oder [ast2]) zwingend mit der Account-Nr. bei fwd übereinstimmen. Vermutlich ist dies aber rein fwd speziefisch und nicht "allgemein gültig".

    Weiter im Beispiel vom Asteriskbuch besteht ein Verweis:
    context = test-telefone
    Ist in der extension.conf unter diesem Kontext noch etwas Spezielles zu beachten oder kann dort "im gleichen Sinne" wie für die Sip-Accounts fortgefahren werden?

    Falls der Asterisk Kurs irgend einmal fortgesetzt wird, wäre dies m.E. eine hilfreiche Vervollständigung.
     
  5. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    #5 MET, 3 Feb. 2009
    Zuletzt bearbeitet: 3 Feb. 2009
    Alle Versuche verliefen bisher negativ. Für die Tests ist das iaxLite Softphone am Asterisk als Extension 40 registriert. Als IAX-provider versuche ich es mit Simply-Connect; dieser ist auch am Asterisk registriert.
    PHP:
    Host                  dnsmgr  Username    Perceived             Refresh  State
    91.xxx
    .xxx.xxx:4569   N       100yyy      77.zz.zz.zz:4569           60  Registered
    Wie immer jetzt ein Anruf auf mein Account rein kommt, gibt es beim iaxLite keine Reaktion. Komisch ist auch, dass der Debugger überhaupt keine Informationen zu einem eingehenden Anruf liefert. Der gleiche Test mit Zoiper als iax-client für simply-connect funktioniert. Es scheint also am Asterisk zu liegen. Vielleicht kann jemand das mögliche Problem erkennen.

    iax.conf:
    PHP:
    [general]
    context=default
    bindport=4569
    bindaddr
    =77.xx.xx.xx
    srvlookup
    =yes
    useragent
    =MyDevice
    disallow
    =all
    allow
    =ulaw
    allow
    =alaw
    allow
    =ilbc  

    register 
    => 100yyy:blabla@iax.simply-connect.de

    [100yyy
    type friend
    host 
    iax.simply-connect.de
    username
    =100yyy
    secret 
    blabla
    context
    =incoming
    disallow
    =all
    allow
    =alaw
    allow
    =ulaw
    allow
    =ilbc
    extension.conf:
    PHP:
    [general]
    static=
    yes
    writeprotect
    =no

    [default]
    include => 
    Local
    include => echotest
    include => mailbox
    include => mailbox_own

    [Local]
    Erreichbarkeit Nebenstellen 30-39 SIP sicherstellen
    exten 
    => _3X,1,NoCDR()
    exten => _3X,n,macro,ruf|SIP|${EXTEN}
    Erreichbarkeit Nebenstelle 40 IAX sicherstellen
    exten 
    => _4X,1,NoCDR()
    exten => _4X,n,macro,ruf|IAX2|${EXTEN}

    [
    incoming]
    include => 
    incoming_40_provider

    [incoming_40_provider]
    exten => 100yyy,1,macro,ruf|IAX2|40
    Nachtrag: Vielleicht ist dies auch relevant. Der Testanruf erfolgte jeweils von der (sip-)Extension 30 zu meiner PSTN-Nummer bei einem Provider der bei Simply-Connect registriert ist.
     
  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
    Wo ist den das Macro, das da angesprungen werden soll?
     
  7. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    Hallo kombjuder (und Grüsse nach Weil am Rhein von einem der auf der anderen Seite der Grenze gross geworden ist)

    Der Makro müsste eigentlich demjenigen des Asterisk-Kurses entsprechen:
    PHP:
    [macro-ruf]
    ; Die 
    Zeile 1 dient lediglich dazudass wir in der CLI eine Bestaetigung erhalten,
    dass wir an der richtigen Stelle angekommen sind
    exten 
    => s,1,NoOp(Wir sind im Macro ruf gelandet)
    exten => s,n,Dial,${ARG1}/${ARG2}|28|r
    exten 
    => s,n,Goto,s-${DIALSTATUS}|1
    exten 
    => s-CHANUNAVAIL,1,wait,1
    exten 
    => s-CHANUNAVAIL,n,voicemail,u${ARG2}
    exten => s-CHANUNAVAIL,n,Hangup
    exten 
    => s-NOANSWER,1,wait,1
    exten 
    => s-NOANSWER,n,voicemail,u${ARG2}
    exten => s-NOANSWER,n,Hangup
     
  8. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
     
  9. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    Wie weiter oben betreffend "iax2 set debug on" schon bemerkt:
    :confused: :confused: :confused:
    Dies würde eher auf etwas bei simply-connect zeigen aber - wie auch schon erwähnt - mit Zoiper als iax-client funktioniert simply-connect.
     
  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
    mit iax2 debug müsstest du die ausgehenden Registrierungspakete sehen.
    Stimmen darin Absender-ip und Empfänger-ip?
     
  11. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    #11 MET, 3 Feb. 2009
    Zuletzt bearbeitet: 3 Feb. 2009
    Habe iax2 debug on und die Verbosity ist auf 6 gesetzt. Sehen kann ich aber nur die div. "SRV lookup" der Sip-Accounts.
    Beim "reload" wird die Registrierung angezeigt:
    PHP:
    -- Registered IAX2 to '91.xxx.xxx.xxx'who sees us as 77.zz.zz.zz:4569 with no messages waiting
    Nachtrag: Könnte dies eines dieser NAT-Probleme sein im Zusammenhang mit der statischen IP des Asterisk. ???
     
  12. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Die iax2 debug ist nicht on, sonst müsstest du die Registrierungspakete sehen, die ausgetauscht werden.
    Da du anscheinend einen vserver hast, hast du kein nat, damit auch kein nat problem.

    Trage mal folgenden Kontext in deiner extensions.conf nach:

    [default]
    exten => _X.,1,macro,ruf|IAX2|40

    Damit würdest du den Anruf einfangen, wenn deine Angaben in der iax.conf nicht zutreffen.
     
  13. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    #13 MET, 4 Feb. 2009
    Zuletzt bearbeitet: 5 Feb. 2009
    Dieser Tipp zeigt in die richtige Richtung :)

    Vorab noch diese Information. Bei den Tests versuche ich das simly-connect Account entweder direkt anzurufen (Sip: IP zu IP, ohne Provider) oder über einen von mir dort registrierten neueren Provider (Voxox mit Nummer in USA) mit dem ich noch nicht viel Erfahrung gemacht habe. Bei den jetzt durchgeführten Tests zeigte sich, dass die Kapazität dieses Providers ziemlich begrenzt zu sein scheint, da vielmals einfach nur das Tonband kommt, dass der Teilnehmer nicht erreichbar sei. Dies scheint so aber nicht zu stimmen, da Simply-Connect beim Provider eingeloggt ist. Wenn ich nachfolgend jetzt sage, dass es via externen Provider geklappt hat, dann bedeutet dies mindestens ein Mal, aber oft dann auch aus besagtem Grund wieder nicht. Ich muss diese Tests ganz einfach nochmals mit einem zuverlässigeren Provider durchführen. Die Testanrufe zur USA-Nr erfolgen via Sipgate.de.

    Obigen Befehl als erster in [Local] gesetzt, funktionieren IP zu IP und via Provider.

    IP zu IP mit sip:100yyy@sip.simply-connect.de
    PHP:
        -- Executing [100yyy@default:1Macro("SIP/MyAccountAt.dyndns.org-08228668""ruf|IAX2|40"in new stack
        
    -- Executing [s@macro-ruf:1NoOp("SIP/MyAccountAt.dyndns.org-08228668""Wir sind im Macro ruf gelandet"in new stack
        
    -- Executing [s@macro-ruf:2Dial("SIP/MyAccountAt.dyndns.org-08228668""IAX2/40|28|r"in new stack
        
    -- Called 40
        
    -- Call accepted by 85.xxx.xxx.xxx (format ulaw)
        -- 
    Format for call is ulaw
        
    -- IAX2/40-1962 is ringing
        
    -- Hungup 'IAX2/40-1962'
      
    == Spawn extension (macro-rufs2exited non-zero on 'SIP/MyAccountAt.dyndns.org-08228668' in macro 'ruf'
      
    == Spawn extension (macro-rufs2exited non-zero on 'SIP/MyAccountAt.dyndns.org-08228668'
    via Sipgate-Voxox funktionierte es auch habe aber diese Version nicht kopiert.
    Dies war übrigens die einzige Version bei der IP zu IP funktionierte bei allen anderen Versuchen klappte dies nicht.

    Als nächstes habe ich die [Local] Einträge in der bestehenden Extension.conf begonnen abzuändern. Funktioniert haben verschiedene Versionen wenn im folgenden Befehl

    exten => _4X,n,macro,ruf|IAX2|${EXTEN}

    die ${EXTEN} durch 40 ersetzt wurde. Die CLI zeigte von so einem sipgate-voxox Anruf folgendes:
    PHP:
       -- Executing [*60019999999999@app30:1Dial("SIP/30-08221030""SIP/0019999999999@30_sipgatede1|45|r"in new stack
       
    -- Called 0019999999999@30_sipgatede1
       
    -- Accepting AUTHENTICATED call from 91.xxx.xxx.xxx:
          > 
    requested format ulaw,
          > 
    requested prefs = (ulaw|alaw|gsm|g726|ilbc),
          > 
    actual format alaw,
          > 
    host prefs = (alaw|ulaw|ilbc),
          > 
    priority mine
       
    -- Executing [100yyy@incoming:1Macro("IAX2/100yyy-10374""ruf|IAX2|40"in new stack
       
    -- Executing [s@macro-ruf:1NoOp("IAX2/100yyy-10374""Wir sind im Macro ruf gelandet"in new stack
       
    -- Executing [s@macro-ruf:2Dial("IAX2/100yyy-10374""IAX2/40|28|r"in new stack
       
    -- Called 40
       
    -- SIP/30_sipgatede1-08224fa8 is making progress passing it to SIP/30-08221030
       
    -- Call accepted by 85.zzz.zzz.zzz (format alaw)
       -- 
    Format for call is alaw
       
    -- IAX2/40-13663 is ringing
     
    == Spawn extension (app30, *600199999999991exited non-zero on 'SIP/30-08221030'
       
    -- Hungup 'IAX2/40-13663'
     
    == Spawn extension (macro-rufs2exited non-zero on 'IAX2/100yyy-10374' in macro 'ruf'
     
    == Spawn extension (macro-rufs2exited non-zero on 'IAX2/100yyy-10374'
       
    -- Hungup 'IAX2/100yyy-10374'
    Frage: Weshalb geht dies hier nicht mit ${EXTEN} ???

    Zum Schluss noch dies: Der iax-Debugger scheint aus irgend einem Grund bei mir nicht zu funktionieren. Der sip-Debugger hingegen ist ok.

    Nachtrag:
    Habe jetzt noch mit einem anderen Provider getestet und siehe da alles funktioniert normal! Dies auch mit der ursprünglichen Extension.conf.

    Als Kontext für das Account scheint es ein Muss zu sein die Account-Nr. einzutragen, bei mir also diejenige von simply-connect 100yyy. Wird dies geändert funktioniert es nicht mehr.

    Fazit: Wenn Tests nicht funktionieren unbedingt auch die Testanordnung mehrfach hinterfragen.

    Bleibt schlussendlich nur weshalb bei mir der iax-debugger nichts anzeigt obwohl die CLI bestätigt, dass er eingeschaltet ist :confused::confused::confused:

    Vielen Dank, kombjuder, für Deine Hilfe!

    Grüsse ans Dreiländereck aus K'nopel/I'bul
     
  14. MET

    MET Mitglied

    Registriert seit:
    27 Okt. 2004
    Beiträge:
    676
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    K'nopel/I'bul
    #14 MET, 5 Feb. 2009
    Zuletzt bearbeitet: 12 Feb. 2009
    @Admin: Vielleicht kann die nachfolgende Zusammenfassung in Form eines How-to zugänglich gemacht werden.

    In Anlehnung an bzw. in Ergänzung von Betateilchen's Asterisk-Kurs:

    iax.conf:
    PHP:
    [general]
    ...
    (
    wie im Asterisk-Kurs)


    register => 100yyy:geheim@iax.simply-connect.de
    Anders als bei sip darf am Ende dieses Befehls
    kein "/irgendwas" angehängt werden


    [100yyy]
    anders als bei sip muss der Kontext für diesen Provider 
    zwingend die Account-Nr sein.
    Ein Kontext bspwin der Art [simplyconnect1funktioniert nicht.
    Je nach Provider kann dies anders sein.
    Für fwd muss dieser Kontext anscheinend [iaxfwdseinsiehe dazu bspw
    ;
    "http://forum.voxilla.com/asterisk-support-forum/iax-conf-fwd-11736.html".
    Dies mit fwd habe ich jedoch nicht selbst überprüft.
    type friend
    host 
    iax.simply-connect.de
    username
    =100yyy
    secret 
    geheim
    context
    =incoming
    disallow
    =all
    allow
    =alaw
    allow
    =ulaw
    allow
    =ilbc


    [40]
    ....
    (
    wie in Asterisk-Kurs)
    Extension.conf:
    PHP:
    [incoming]
    exten => 100yyy,1,macro,ruf|IAX2|40
    Aus irgend einem Grund muss hier die Variable ${EXTEN
    durch einen Wert ersetzt werdenDer Befehl
    exten => 100yyy,1,macro,ruf|IAX2|${EXTEN}
    funktioniert in diesem Falle nicht

    Outgoing müsste in Analogie wie im Asterisk-Kurs für VoipJet gehen.
    Habe dies jedoch nicht getestet.