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

[gelöst] Asterisk baut Via: falsch zusammen (aber warum?)

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von Mrsnaida, 2 Jan. 2009.

  1. Mrsnaida

    Mrsnaida Neuer User

    Registriert seit:
    20 Nov. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 Mrsnaida, 2 Jan. 2009
    Zuletzt bearbeitet: 2 Jan. 2009
    Hallo zusammen,

    ich kämpfe mit folgendem Problem:
    Asterisk 1.6 hinter FritzBox. SipProvider ist Sipgate.de
    Die Asterisk kann sich bei sipgate registrieren, jedoch ist das Telefonieren nicht möglich. Also weder eingehend noch ausgehend.

    Wenn ich versuche, einen eingehenden Call zu tätigen, kommt im Wireshark rein gar nichts an und der Anrufer hört eine Ansage, die Telefonnummer wäre nicht erreichbar.
    Nun habe ich testweise auf der gleichen Maschine SJphone installiert und mit dem gleichen AccountDaten gegen sipgate registriert. Das Teil funktioniert ausgehend und eingehend.

    1.Problem: Eingehende Calls von Extern (z.B. Festnetz)
    Im Wireshark log sehe ich im register einen eklatanten Unterschied zum register der Asterisk:

    SJphone:
    Via: SIP/2.0/UDP 192.168.x.x;rportbranch=irgendwaskryptisches
    Asterisk:
    Via: SIP/2.0/UDP 93.200.x.x;rportbranch=irgendwaskryptisches

    Das SJphone geht also mit der internen IP raus (scheint ja richtig zu sein) und die Asterisk mit der offiziellen IP meiner FritzBox.

    Da ich denke, dass das nun ein Konfigurationsproblem ist, poste ich mal meine Konfig.

    sip.conf
    Code:
    [general]
    context=general
    useragent=Asterisk PBX
    bindport=5080
    bindaddr=0.0.0.0
    language=de
    disallow=all
    disable=all
    allow=alaw
    allow=ulaw
    allow=g729
    allow=gsm
    allow=slinear
    srvlookup=yes
    nat=yes
    ;externhost=bkasterisk.dyndns.org
    externip=93.200.x.x:5080
    externrefresh=180
    localnet=192.168.178.0/255.255.255.0
    ;stunaddr=stun.sipgate.net:10000
    host=217.10.79.9
    register=><user>:<PW>@sipgate.de/<user>
    ;register=><user>:<PW>@217.10.79.9/<user>
    canreinvite=no
    dtmfmode=rfc2833
    qualify=yes
    fromdomain=217.10.79.9
    
    [sipgate]
    type=friend
    username=<user>
    fromuser=<PW>
    host=dynamic
    disallow=all
    allow=alaw
    allow=ulaw
    allow=gsm
    context=meine-telefone
    outgoingproxy=sipgate.de
    nat=yes
    
    [200]; Hausmeister
    type = friend
    callerid="Hausmeister Krause"<200>
    context = meine-telefone
    secret = 1234
    host = dynamic
    
    extensions.conf
    Code:
    [general]
    [meine-telefone]
    include => sipgate
    exten => _9.,1,Dial(SIP/${EXTEN:1}@sipgate.de,30,r)
    exten => <user>,1,Ringing
    exten => <user>,2,Wait,2
    exten => <user>,3 Dial(SIP/200,20,tr)
    exten => <user>,4,Hangup
    
    ;Hausmeister
    exten => 200,1,Dial(SIP/200,5)
    exten => 200,2,VoiceMail(200,u)
    exten => 200,2,VoiceMail(200,b)
    include => voicemailsystem
    
    2.Problem: Ausgehender Call (z.B. ins Festnetz)
    im CLI sehe ich die Meldung
    called 10005@sipgate.de
    Failed to authenticate on INVITE "USER1" <sip:501@217.10.79.9>
    Auch hier baut er also falsch zusammen. Der Benutzer 501 ist bei sipgate (von denen ist die IP) natürlich nicht bekannt.

    Würde mich über Hilfe sehr freuen!
    Vielen Dank und Grüße
     
  2. kritter

    kritter Neuer User

    Registriert seit:
    20 Dez. 2008
    Beiträge:
    62
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Erfurt
    Hier müsste sicher noch ein SIPGate-Erfahrener dazu posten, aber mir fallen auch schon einige Punkte ein:

    Code:
    externip=93.200.x.x:5080
    (in deiner sip.conf) erklärt ja genau, woher der VIA-eintrag kommt. Wenn Du das nicht bewusst gesetzt hast, solltest Du es auskommentieren!

    Code:
     fromdomain=217.10.79.9 
    (wieder in Deiner sip.conf) Das widerspricht sich alles noch ein wenig...



    Hast Du den Port 5080 eingehend durch Deine Fritzbox bis zum Asterisk-Server durchgetunnelt? (Portfreigabe!) Das gleiche ist noch für die verwendeten RTP-Ports fällig.

    Ankommende Gespräche von SipGate werden bei Dir in den Kontext "meine-telefone" gelenkt. Das ist technisch möglich, sollte aber aus Sicherheitsgründen in einen eigenen Kontext führen. Dort kannst Du dann auch mal die "s"-Extension einführen, vlt. hilft das ja weiter.

    Das mit der "501" musst Du noch an Logeinträgen belegen. Sonst können wir ja nicht ansatzweise ahnen, woher das kommt. :)
     
  3. Mrsnaida

    Mrsnaida Neuer User

    Registriert seit:
    20 Nov. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    vielen Dank für deine Antwort !
    Mittlerweile habe ich durch lesen / herumprobieren die Problematik mit eingehenden Calls gelöst (zumindest die angegebene extension 200 klingelt (wie kann ich als Anrufender denn die extension frei wählen ?))

    Was bleibt ist noch das Problem mit dem Raustelefonieren. Da steht dann im CLI
    callled 910005@sipgate
    SIP/sipgate-082360f0 is circuit-busy
    ...handle_request_invite: Call from '501' to extension '1005' rejected because extension not found

    Ich poste mal die veränderte / besser funktionierende Konfiguration:
    sip.conf
    Code:
    [general]
    useragent=Asterisk PBX
    bindport=5080
    bindaddr=0.0.0.0
    language=de
    disallow=all
    disable=all
    allow=alaw
    allow=ulaw
    allow=g729
    allow=gsm
    allow=slinear
    srvlookup=yes
    nat=yes
    externhost=asterisk.dyndns.org
    externrefresh=180
    localnet=192.168.178.0/255.255.255.0
    ;stunaddr=stun.sipgate.net:10000
    host=217.10.79.9
    register=><user>:<PW>@sipgate.de/<user>
    canreinvite=no
    dtmfmode=rfc2833
    qualify=yes
    fromdomain=217.10.79.9
    
    [sipgate]
    type=friend
    insecure=port,invite
    nat=yes
    username=<user>
    fromuser=>user>
    fromdomain=sipgate.de
    secret=<PW>
    host=sipgate.de
    qualify=yes
    canreinvite=no
    dtmfmode=rfc2833
    context=sipgate-in 
    
    extensions.conf
    Code:
    [sipgate-in]
    exten => <user>,1,Dial(SIP/200,20)
    exten => _X.,2,Hangup()
    
    [general]
    
    [meine-telefone]
    ;exten => _9.,1,Set(CALLERID(num)=<user>)
    exten => _9.,1,Dial(SIP/${EXTEN}@sipgate,30,trg)
    exten => _9.,n,Hangup 
    
     
  4. Timmbo

    Timmbo Aktives Mitglied

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    1,935
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Austria
    Hi,

    sipgate arbeitet mit Sicherheit nicht mit dem Port 5080, sondern 5060.

    Grüße
    Timm
     
  5. Mrsnaida

    Mrsnaida Neuer User

    Registriert seit:
    20 Nov. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist nur lokal, weil die Asterisk NAT machen muss. Raus geht es schon mit 5060
     
  6. Mrsnaida

    Mrsnaida Neuer User

    Registriert seit:
    20 Nov. 2008
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Problem gelöst:
    Code:
    [meine-telefone]
    exten => _X.,1,Dial(SIP/${EXTEN}@sipgate,30,trg)
    
    in der extensions.conf brachte die Lösung.

    Wenn ich nun noch herausfinde, wie man es anstellt, dass bei einem Anruf nicht nur die 200 angeklingelt wird, sondern dass man (wie bei anderen PBX auch) die Durchwahl von außen mit wählen kann, bin ich megaglücklich.

    Grüße