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

[gelöst]2 Asteriske miteinander "verbinden"

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von heinzelrumpel, 14 Sep. 2006.

  1. heinzelrumpel

    heinzelrumpel Neuer User

    Registriert seit:
    4 Apr. 2006
    Beiträge:
    172
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 heinzelrumpel, 14 Sep. 2006
    Zuletzt bearbeitet: 15 Sep. 2006
    Hi,

    habe privat einen Asterisk. Funktioniert gut und ich kann mich per Sofwareclient per Sip auch mit ihm verbinden, auch über WAN.

    Würde jetzt gerne unseren Firmen Asterisk so konfigurieren, dass er sich mit dem privaten connectet.

    In der sip.conf des privaten Asterisk habe ich daher diesen eintrag hinzugefügt

    Code:
    
    [12345]
    type=peer
    context=user-12345
    callerid="XXXXXXXX" <12345>
    username=12345
    secret=xxxxx
    language=de
    host=dynamic
    nat=yes
    dtmfmode=rfc2833
    canreinvite=no
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    
    
    In der rtp.conf werden die Ports 10000-20000 für Sprache benutzt

    Der Firmen Asterik hat in der sip.conf dann folgenden eintrag bekommen, damit er sich registrieren kann

    Code:
    register => 12345:xxxxx@xxxxx.mine.nu/12345
    
    [12345]
    
    type=peer
    context=15
    username=12345
    secret=xxxxx
    host=xxxxx.mine.nu
    fromdomain=xxxx.mine.nu
    disallow=all
    allow=gsm
    allow=ulaw
    allow=alaw
    
    
    Ein sip show registry zeigt nichts an.

    In der Firma sind die Ports 5060/UDP und 10000-20000/UDP an den Asterisk weitergeleitet.

    Simple gefragt. Warum geht diese Konfiguration nicht?
     
  2. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Wenn du in der Firma Ports weiterleiten musst, vermute ich Firewall mit nat. Es ist beim FirmenAsterisk kein Nat gesetzt.

    Darf dein Asterisk zu Hause Anrufe am Port 5060 von aussen annehmen?

    Mach das mal mit iax2 statt mit sip. Das ist bei Firewall deutlich einfacher.
     
  3. heinzelrumpel

    heinzelrumpel Neuer User

    Registriert seit:
    4 Apr. 2006
    Beiträge:
    172
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    ja, mit iax2 habe ich es auch probiert, aber das ergebnis ist gleichfalls mager. Ich poste mal meine beiden iax.confs

    1. iax.conf zuhause. Asterisk hängt direkt per dynamischer ip am Inet

    Code:
    [general]
    bindport=4569
    bindaddr=0.0.0.0
    context=default
    
    
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm                       ; Always allow GSM, it's cool :)
    
    [tower]
    type=friend
    username=tower
    secret=xxxxxxx
    host=192.168.2.90
    callerid="IAX Firma<tower>"
    notransfer=yes
    context=user-04212237299
    
    
    2. iax.conf aus der Firma hiner Firewall/Router

    Code:
    [general]
    bindport=4569                   ; bindport and bindaddr may be specified
    context=default
    bindaddr=0.0.0.0                ; more than once to bind to multiple
    
    
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    register => tower:xxxxxx@192.168.0.1
    
    
    Da beide Netze per VPN miteinander verbunden sind, habe ich bei iax2 mal ohne Dyn-Dns gearbeitet.

    Auf dem Firmenasterisk erhalte ich in der Cli folgende Aussage.

    Code:
    salsa*CLI> iax2 show registry
    Host                  Username    Perceived             Refresh  State
    192.168.0.1:4569      tower       <Unregistered>             60  RequestSent
    
    
    Zuhause erscheint dies.

    Code:
    Sep 14 22:06:44 NOTICE[12767]: chan_iax2.c:3921 register_verify: Peer 'tower' is not dynamic (from 192.168.2.90)
    
    Nö, soll ja auch nicht dynamisch sein. Verstehe diese Aussage nicht. In der Firma hab ich host=192.168.2.90 doch extra gesetzt.

    Ob nun ein Portforwarding von 4569/UDP gemacht wird, oder nicht, spielt anscheinend keine Rolle. An der Ausgabe ändert sich nichts.
     
  4. heinzelrumpel

    heinzelrumpel Neuer User

    Registriert seit:
    4 Apr. 2006
    Beiträge:
    172
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #4 heinzelrumpel, 15 Sep. 2006
    Zuletzt bearbeitet: 15 Sep. 2006
    Die Fehlemeldung

    Code:
    Sep 14 22:06:44 NOTICE[12767]: chan_iax2.c:3921 register_verify: Peer 'tower' is not dynamic (from 192.168.2.90)
    
    habe ochdadurch wegbekommen, indem ich host=dynamc gesetzt habe, obwohl es sich ja ja gar nicht um eine dynamische Adresse handelt. Muss man wohl nicht verstehen.

    Komisch nur dass auf dem Asterisk zuhause dies erscheint

    Code:
    no1asterisk*CLI> iax2 show peers
    Name/Username    Host                 Mask             Port      Status
    tower/tower      192.168.2.90    (D)  255.255.255.255  4569      Unmonitored
    
    obwohl inder Firma immer noch

    Code:
    salsa*CLI> iax2 show registry
    Host                  Username    Perceived             Refresh  State
    192.168.0.1:4569      tower       <Unregistered>             60  Request Sent
    
    
    dies zu sehen ist.

    Und hie rnochmal

    Code:
    no1asterisk*CLI> iax2 show channels
    Channel               Peer             Username    ID (Lo/Rem)  Seq (Tx/Rx)  Lag      Jitter  JitBuf  Format
    (None)                192.168.2.90     (None)      00001/00002  00007/00004  00000ms  0000ms  0000ms  unknow
    (None)                192.168.2.90     (None)      00004/00000  00002/00000  00000ms  0000ms  0000ms  unknow
    2 active IAX channel(s)
    
    Frage mich, ob da nun eine Verbindung ist, oder nicht.
     
  5. heinzelrumpel

    heinzelrumpel Neuer User

    Registriert seit:
    4 Apr. 2006
    Beiträge:
    172
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So, Aufgabe gelöst.

    Habe im register => wieder die DynDND Adresse eingegeben und siehe da, beide Seiten könenn sich gegenseitig registrieren. eigentlich hatte ich dies in der Konstellation schon anfangs eingetragen, aber wie auch immer.
     
  6. fridiy

    fridiy Neuer User

    Registriert seit:
    8 Okt. 2006
    Beiträge:
    57
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo alle ich habe eine kleines problem mit mein beide asterisk wenn ich asterisk1 von Asterisk zwei anrufe krige ich diese Antwort

    -- Executing Dial("SIP/3000-0819b7b8","IAX2/asterisk1/2000") in new stack
    -- Called asterisk1/2000
    Oct 19 13:54:58 WARNING[6376]: chan_iax2.c:7095socket_read: Call rejected by 193.25.30.198: No such
    context/extension
    -- Hungup 'IAX2/asterisk1-2'
    == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing Hangup("SIP/3000-0819b7b8", "") in
    new stack
    == Spawn extension (my-phones, 62000, 2) exited
    non-zero on 'SIP/3000-0819b7b8'
    Oct 19 14:00:55 NOTICE[6381]: chan_sip.c:11086
    handle_request_register: Registration from
    '<sip:3001@192.168.1.150>' failed for '192.168.1.122'
    - Username/auth name mismatch


    und bei Asterisk1 wird diese Anmeldung gegeben



    Oct 19 13:54:35 NOTICE[11828]: chan_iax2.c:6919
    socket_read: Rejected connect attempt from
    193.25.30.52, request '2000@default' does not exist


    kann jemend mir helfen
     
  7. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Hier sagt dir dein Asterisk doch ganz klar was er für ein Problem hat:

    auf dem anderen Asterisk gibt es keinen oder keinen funktionierenden Kontext namens default.


    Ich lege auf meinen Asterisk generell einen Kontext asterisk-in an. Darauf verweisen alle Einträge in der iax.conf für befreundete Asteriske.
     
  8. samiko

    samiko Neuer User

    Registriert seit:
    10 Sep. 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo Herr kombjuder
    du kannst mir wie leicht helfen ich habe zwei Asterisk Server und ich möchte, dass beide asterisk sich gegen seitig registriren es hat geklappt vor einge zeiten mit meine konfiguration
    aber jetzt nicht mher ich weiß nicht was ich falsch gemacht und wo liegt das Problem

    hier ist meine konfiguration sachen

    ************************asterisk1***************************
    iax.conf

    [general]
    language=de
    port=4569
    bindaddr=0.0.0.0
    context=default
    disallow=all
    allow=ulaw
    allow=alaw
    allow=g726
    allow=gsm
    ;trunk=yes

    register => asterisk1:1234@10.3.0.70

    [asterisk2]
    type=peer
    secret=1234
    auth=md5
    host=dynamic

    #####################################extensions.conf####################################

    [general]
    static=yes
    writeprotect=no

    [default]
    include => iax-out

    [iax-out]
    exten => _5[1-9].,1,Dial(IAX2/asterisk2/${EXTEN:1},40,tT)
    exten => _5[1-9].,n,Hangup



    §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ asterisk2 §§§§§§§§§§§§§§§§§§§§§§§§§

    iax.conf

    [general]
    language=de
    port=4569
    bindaddr=0.0.0.0
    context=default
    disallow=all
    allow=ulaw
    allow=alaw
    allow=g726
    allow=gsm
    ;trunk=yes

    register => asterisk2:1234@193.20.30.163

    [asterisk1]
    type=peer
    secret=1234
    auth=md5
    host=dynamic

    **********************************extension.conf***********************************

    [general]
    static=yes
    writeprotect=no

    [default]
    include => iax-out

    [iax-out]
    exten => _5[1-9].,1,Dial(IAX2/asterisk1/${EXTEN:1},40,tT)
    exten => _5[1-9].,n,Hangup

    beim anrufen kommt so was
    -- Executing Dial("SIP/3001-081c9f50", "IAX2/asterisk2/4000|40") in new stack
    Sep 14 15:00:56 NOTICE[3171]: app_dial.c:1056 dial_exec_full: Unable to create channel of type 'IAX2' (cause 3 - No route to destination)
    == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing Hangup("SIP/3001-081c9f50", "") in new stack
    == Spawn extension (default, 54000, 2) exited non-zero on 'SIP/3001-081c9f50'



    *CLI> iax2 show registry
    Host Username Perceived Refresh State
    10.3.0.70:4569 asterisk1 <Unregistered> 60 Request Sent

    *CLI>iax2 show registry
    Host Username Perceived Refresh State
    193.20.30.163:4569 asterisk2 <Unregistered> 60 Request Sent


    danke dir
     
  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
    Das kann nicht funktionieren! 10.3. ist keine öffentliche ip-Adresse.

    Die Registrierung brauchst du auch nicht, ausser du würdest sehr häufig die ip-Adresse ändern.

    Du brauchst einen dyndns Eintrag. Den kannst du auf deinem Asterisk verwalten lassen, einfacher, die meisten Router können das auch.

    Dann sieht dein Eintrag in der iax.conf wie folgt aus:

    Code:
    [asterisk2]
    type=friend
    secret=1234
    auth=md5
    host=193.20.30.163
    context=asterisk-in
    
    
    Auf der Gegenseite

    Code:
    [asterisk1]
    type=friend
    secret=1234
    auth=md5
    host=myhost.dyndns.org
    context=asterisk-in
    
    extensions.conf
    Code:
    [general]
    static=yes
    writeprotect=no
    
    [default]
    exten => _X.,1,Dial(ein internes Telefon)
    
    [asterisk-in]
    exten => _X.,1,Mache irgendwas
    
    [iax-out]
    exten => _5[1-9].,1,Dial(IAX2/asterisk1/${EXTEN:1},40,tT)
    exten => _5[1-9].,n,Hangup
    
    
    Jetzt noch in der Datei /etc/asterisk/dnsmgr.conf bei allen Zeilen das ; wegmachen.

    Im Kontext default niemals die Möglichkeit geben, irgendwas externes anzurufen! Auch nicht über include=>. Das wird sonst missbraucht.