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

== Using SIP RTP CoS mark 5 bei ankommenden Anrufen - sipgate

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von mipo222, 11 März 2009.

  1. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 mipo222, 11 März 2009
    Zuletzt bearbeitet: 11 März 2009
    Hallo,

    habe die letzten Stunden damit verbracht von 1.4 auf 1.6 - genauer gesagt 1.6.0.6 umzustellen, da ich den Fehler hatte das bei einem abgehenden Call nach dem Auflegen das gerufene Telefon munter weiter klingelte, der Fehler war mit allem was ich hier gesucht habe nicht zu beheben.

    Dann habe ich heute 1.6.0.6 installiert,...jetzt hab ich das Problem nicht mehr.

    Aber jetz krieg ich beim besten Willen keinen Anruf mehr auf Asterisk rein
    immer nur folgende Meldung:

    == Using SIP RTP CoS mark 5

    Der Anrufer hört nichts weiter als ein schnelles Besetztzeichen.

    Angemeldet bin ich bei sipgate.

    So sieht die sip.conf aus:

    Code:
    [general]
    port = 5060
    bindaddr = 0.0.0.0
    context = sonstige
    
    register => XXX:XXX@sipgate.de/XXX
    ;              ^       ^       ^                    ^
    ;              |       |       |                    |
    ;             User Passwort  Provider              User
    
    [2000]
    type=friend
    context=meine-telefone
    secret=1234
    host=dynamic
    
    [2001]
    type=friend
    context=meine-telefone
    secret=1234
    host=dynamic
    
    [ext-sip-account]
    type=friend
    context=von-voip-provider
    username=XXX
    fromuser=XXX
    secret=XXX
    host=sipgate.de
    fromdomain=sipgate.de
    qualify=yes
    insecure=very
    nat=yes
    
    die extensions.conf sieht so aus:

    Code:
    [default]
    ;exten => 1001,1,Answer()
    ;exten => 1001,2,Playback(hello-world)
    ;exten => 1001,3,Hangup()
    
    [sonstige]
    
    [meine-telefone]
    exten => 2000,1,Dial(SIP/2000,20)
    exten => 2000,2,VoiceMail(2000,u)
    
    exten => 2001,1,Dial(SIP/2001,20)
    exten => 2001,2,VoiceMail(2001,u)
    
    exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)
    
    exten => _0[1-9].,1,Dial(SIP/${EXTEN}@ext-sip-account)
    
    [von-voip-provider]
    exten => XXX,1,Dial(SIP/2000,20)
    exten => XXX,2,VoiceMail(2000,u)
    An und für sich kann ich da keinen Fehler erkennen, habe nun noch die 1.6.1.0rc2 installiert, bringt auch keine Änderung.

    Hat irgend einer vielleicht eine Idee die mir weiter helfen könnte ?
     
  2. stinkstiefel

    stinkstiefel Aktives Mitglied

    Registriert seit:
    19 Feb. 2006
    Beiträge:
    1,664
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #2 stinkstiefel, 11 März 2009
    Zuletzt bearbeitet: 11 März 2009
    Ich war mal neugierig und nachfolgendes sollte dir zu denken geben. ;)
    Code:
    sip show registry
    Host                            Username       Refresh State                Reg.Time
    sipgate.de:5060                 XXX            285 Registered           Wed, 11 Mar 2009 19:30:34
     
  3. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    oh mann :p

    hab zu lange davor gesessen heute - hab das einfach übersehen, habs nun rausgenommen - hoffe du vergisst die Daten :p

    Kannst mir denn zu dem Problem als solchem was sagen ?
     
  4. stinkstiefel

    stinkstiefel Aktives Mitglied

    Registriert seit:
    19 Feb. 2006
    Beiträge:
    1,664
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich schon, andere haben aber vielleicht ein besseres Gedächtnis!
     
  5. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, Asche auf mein Haupt ! War schon dämlich nicht nochmal rüber zu schauen, ...:(
     
  6. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Problem besteht weiterhin, nicht das jemand denkt das das erledigt ist wegen "Asche auf mein Haupt" :) Da ging es um was anderes.

    Ich hab herausgefunden das das eine normale Meldung ist und keine Fehlermeldung, aber das danach eigentlich weitere Meldungen kommen müssten, egal in welchem Verbose Level ich mich befinde, ist das die einzige Reaktion von Asterisk auf den eingehenden Anruf und der Anrufer bekommt ein schnelles Besetztzeichen.

    Hat noch einer eine Idee ?
     
  7. stinkstiefel

    stinkstiefel Aktives Mitglied

    Registriert seit:
    19 Feb. 2006
    Beiträge:
    1,664
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Log eines Anrufers könnte eventuell noch Aufschluss geben.

    Was mir noch ins Auge sticht: Du verwendest nat=yes vermutlich nicht ohne Grund. Wo aber sind dann die Parameter für deine externe Adresse?
     
  8. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi,

    bzgl. deiner NAT Frage - das habe ich eingestellt weil ich die Testumgebung im Moment hinter einem DSL Router habe. Kann das ein Problem sein ?

    Ein Log von einem Call würde ich gerne machen, wenn weiss ich aber nicht, bisher hatte ich das so verstanden, das ich den verbose Level in der asterisk console entsprechend hoch setze und dann eigentlich alles angezeigt bekommen sollte, ich war schon in verbose Level 5 und 9 - in beiden Fällen
    zeigt er aber einfach nicht mehr an als diese eine Zeile wenn ich versuche
    einen Call reinzubringen.

    Kann ich für das SIP Protokoll auch ein Log aktivieren ?
     
  9. stinkstiefel

    stinkstiefel Aktives Mitglied

    Registriert seit:
    19 Feb. 2006
    Beiträge:
    1,664
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    cli> sip set debug
    cli> sip set debug off
     
  10. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    anbei der SIP-Debug Auszug:

    Code:
    *CLI> sip set debug on
    SIP Debugging enabled
    *CLI> Really destroying SIP dialog '21a2e2aa6dd258d53ecb80f0611710cc@127.0.1.1' Method: REGISTER
    
    <--- SIP read from UDP://217.10.79.9:5060 --->
    INVITE sip:XXX@192.168.1.12:5060 SIP/2.0
    Record-Route: <sip:217.10.79.9;lr=on;ftag=as76fe5e64>
    Record-Route: <sip:172.20.40.3;lr=on>
    Record-Route: <sip:217.10.79.9;lr=on;ftag=as76fe5e64>
    Via: SIP/2.0/UDP 217.10.79.9:5060;branch=z9hG4bK735d.3a52b681.0
    Via: SIP/2.0/UDP 172.20.40.3;branch=z9hG4bK735d.3a52b681.0
    Via: SIP/2.0/UDP 217.10.79.9:5060;received=217.10.68.6;branch=z9hG4bK79769350
    Via: SIP/2.0/UDP 217.10.67.6:5060;branch=z9hG4bK79769350;rport=5060
    From: "anonymous" <sip:anonymous@sipgate.de>;tag=as76fe5e64
    To: <sip:XXX@sipgate.de>
    Contact: <sip:anonymous@217.10.67.6>
    Call-ID: 3c47a3556d2bba75738848b8429807ea@sipgate.de
    CSeq: 102 INVITE
    Max-Forwards: 67
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: 406
    
    v=0
    o=root 3418 3418 IN IP4 217.10.67.6
    s=session
    c=IN IP4 217.10.67.6
    t=0 0
    m=audio 17138 RTP/AVP 8 0 3 97 18 112 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:3 GSM/8000
    a=rtpmap:97 iLBC/8000
    a=fmtp:97 mode=30
    a=rtpmap:18 G729/8000
    a=fmtp:18 annexb=no
    a=rtpmap:112 G726-32/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-16
    a=silenceSupp:off - - - -
    a=ptime:20
    a=sendrecv
    
    <------------->
    --- (18 headers 19 lines) ---
      == Using SIP RTP CoS mark 5
    Sending to 217.10.79.9 : 5060 (no NAT)
    Using INVITE request as basis request - 3c47a3556d2bba75738848b8429807ea@sipgate.de
    Found peer 'ext-sip-account' for 'anonymous' from 217.10.79.9:5060
    
    <--- Reliably Transmitting (NAT) to 217.10.79.9:5060 --->
    SIP/2.0 401 Unauthorized
    Via: SIP/2.0/UDP 217.10.79.9:5060;branch=z9hG4bK735d.3a52b681.0;received=217.10.79.9
    Via: SIP/2.0/UDP 172.20.40.3;branch=z9hG4bK735d.3a52b681.0
    Via: SIP/2.0/UDP 217.10.79.9:5060;received=217.10.68.6;branch=z9hG4bK79769350
    Via: SIP/2.0/UDP 217.10.67.6:5060;branch=z9hG4bK79769350;rport=5060
    From: "anonymous" <sip:anonymous@sipgate.de>;tag=as76fe5e64
    To: <sip:XXX@sipgate.de>;tag=as0ec83d4e
    Call-ID: 3c47a3556d2bba75738848b8429807ea@sipgate.de
    CSeq: 102 INVITE
    Server: Asterisk PBX 1.6.1.0-rc2
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
    Supported: replaces, timer
    WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="37fbef67"
    Content-Length: 0
    
    
    <------------>
    Scheduling destruction of SIP dialog '3c47a3556d2bba75738848b8429807ea@sipgate.de' in 6400 ms (Method: INVITE)
    
    <--- SIP read from UDP://217.10.79.9:5060 --->
    ACK sip:XXX@192.168.1.12:5060 SIP/2.0
    Max-Forwards: 10
    Via: SIP/2.0/UDP 217.10.79.9:5060;branch=z9hG4bK735d.3a52b681.0
    Via: SIP/2.0/UDP 172.20.40.3;branch=z9hG4bK735d.3a52b681.0
    From: "anonymous" <sip:anonymous@sipgate.de>;tag=as76fe5e64
    Call-ID: 3c47a3556d2bba75738848b8429807ea@sipgate.de
    To: <sip:XXX@sipgate.de>;tag=as0ec83d4e
    CSeq: 102 ACK
    Content-Length: 0
    X-hint: rr-enforced
    
    
    <------------->
    --- (10 headers 0 lines) ---
    Reliably Transmitting (NAT) to 217.10.79.9:5060:
    OPTIONS sip:sipgate.de SIP/2.0
    Via: SIP/2.0/UDP 192.168.1.12:5060;branch=z9hG4bK5623f57b;rport
    Max-Forwards: 70
    From: "asterisk" <sip:asterisk@192.168.1.12>;tag=as4e3548d8
    To: <sip:sipgate.de>
    Contact: <sip:asterisk@192.168.1.12>
    Call-ID: 68554b2e70044b2c561243bb6b369edf@192.168.1.12
    CSeq: 102 OPTIONS
    User-Agent: Asterisk PBX 1.6.1.0-rc2
    Date: Thu, 12 Mar 2009 14:53:04 GMT
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
    Supported: replaces, timer
    Content-Length: 0
    
    
    ---
    
    <--- SIP read from UDP://217.10.79.9:5060 --->
    SIP/2.0 200 OK
    Record-Route: <sip:217.10.79.9;lr=on;ftag=as4e3548d8>
    Via: SIP/2.0/UDP 192.168.1.12:5060;branch=z9hG4bK5623f57b;rport=5061
    From: "asterisk" <sip:asterisk@192.168.1.12>;tag=as4e3548d8
    To: <sip:sipgate.de>;tag=8367f0f887e3954243ec30fa0f5db288.f261
    Call-ID: 68554b2e70044b2c561243bb6b369edf@192.168.1.12
    CSeq: 102 OPTIONS
    Accept: */*
    Accept-Encoding:
    Accept-Language: en
    Supported:
    Content-Length: 0
    
    
    <------------->
    --- (12 headers 0 lines) ---
    Really destroying SIP dialog '68554b2e70044b2c561243bb6b369edf@192.168.1.12' Method: OPTIONS
    Really destroying SIP dialog '3c47a3556d2bba75738848b8429807ea@sipgate.de' Method: ACK
    
    <--- SIP read from UDP://192.168.1.106:60871 --->
    
    Telefonnummer und Sip-ID hab ich ausge-xt - hoffe diesmal all erwischt zu haben :)
     
  11. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So, habe nochmal hin und her probiert und das Problem zumindest mal beheben können, wobei ich noch nicht genau weiss was das nun genau bedeutet - Auszug aus meiner sip.conf von weiter oben:

    Code:
    [ext-sip-account]
    type=friend
    context=von-voip-provider
    username=XXX
    fromuser=XXX
    secret=XXX
    host=sipgate.de
    fromdomain=sipgate.de
    qualify=yes
    insecure=very             <--- ändern in: "insecure=port,invite"
    nat=yes
    Gefunden habe ich diese Einstellung in einem Buch über Asterisk.

    Denke aber das das nun offen wie ein Scheunentor ist, werde mal noch weiter versuchen ob man das weiter eingrenzen kann, denn nun findet keiner Überprüfung mehr statt - also der Call wird ohne jegliche Authentifizierung reingeleitet.

    Steht dort nur "port", dann wird auf IP Adresse geprüft, steht dort nur "invite" wird der DNS Eintrag geprüft.

    Hoffe das hilft anderen die das Problem mal haben auch weiter :)
     
  12. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #12 mipo222, 12 März 2009
    Zuletzt bearbeitet: 12 März 2009
    nur "invite" = geht auch = ist klar - da ich ja "sipgate.de" angegeben habe :)
    nur "port" = geht nicht = ist klar - da ich ja nur "sipgate.de" angegeben habe in der sip.conf und nicht die IP

    :)
     
  13. FrankIT

    FrankIT Mitglied

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist aber immer so, denn kein normaler Provider authentifiziert sich bei dir, wenn er dir einen Anruf signalisiert.

    Woher hast du das denn? :confused:

    Nein, das geht deswegen, weil Sipgate immer Port 5060 verwendet.

    Das würde mit der IP-Adresse genausowenig gehen. Du brauchst insecure=invite, weil sich Sipgate deinem Asterisk gegenüber nicht authentifiziert.
     
  14. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @ FrankIT

    Ok, vielleicht hab ich das auch falsch ausgedrückt.

    Was ich meine ist:

    Wenn sipgate.de ein SIP-Invite schickt, spricht versucht eine Verbindung aufzubauen, versucht Asterisk diesen Invite zu authentifiziern.

    Asterisk vergleicht bei der Angabe von "invite" dann die eingehenden Daten mit dem Eintrag host= in der sip.conf - vergleicht also DNS Eintrag oder IP Adresse - wenn die stimmt, wird der Anruf als zulässig ausgewertet und es klingelt.

    Bei der Angabe von "port" schaut er nur nach einer Adresse, steht bei "host=" also ein DNS Eintrag wird der Call abgelehnt. Steht dort die korrekte Adresse wird der Anruf als zuverlässig ausgewertet und es klingelt.

    Bei der Angabe von "port,invite" findet gar keine Überprüfung mehr statt und jeder Call wird zugelassen.

    Bei meiner Einstellung "very" verzichtet Asterisk auch auf jegliche Authentifizierung wenn bereits in der Vergangenheit von der Gegenstelle eine Authentifizierung statt gefunden hat - und zwar genau einmal.

    So habe ich es zumindest verstanden. Das ganze bezieht sich auf den SIP-Typ "Sip-Proxy".

    Hoffe das war klarer formuliert und ich habe das richtig wiedergegeben :)
     
  15. stinkstiefel

    stinkstiefel Aktives Mitglied

    Registriert seit:
    19 Feb. 2006
    Beiträge:
    1,664
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    "very" ist bei 1.6 keine gültige Option mehr. Weiss ich aber auch erst seit eben.
     
  16. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @ stinkstiefel

    das würde das dann ja letzendlich auch erklären :)

    danke für die Info !
     
  17. FrankIT

    FrankIT Mitglied

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Zuerst versucht Asterisk, den INVITE einem Peer zuzuordnen. Das geschieht anhand der IP-Adresse und der Portnummer. Mit insecure=port wird der Peer nur noch anhand der IP-Adresse ermittelt, die Portnummer ist also egal.

    Dann fordert Asterisk die Gegenstelle auf, sich zu authentifizieren. Das ist aber in der Regel nur dann sinnvoll, wenn die Gegenstelle ein Endgerät ist. Ein Provider authentifiziert sich nicht. Deshalb kann man auf die Authentifizierung mit insecure=invite verzichten.

    http://www.voip-info.org/wiki/view/Asterisk+sip+insecure

    Nein, Asterisk vergleicht immer die IP-Adresse, von der der INVITE kommt, mit der IP-Adresse der definierten Peers. (Etwas anderes würde höchstens gelten, wenn der Anruf von einem User mit passendem Namen käme. Das ist bei Sipgate sehr unwahrscheinlich. Deshalb kannst du dir übrigens auch type=friend sparen, type=peer reicht vollkommen.)

    Wenn bei host ein DNS-Name steht, löst Asterisk diesen beim Einlesen der Konfiguration in eine IP-Adresse auf. Ankommende INVITEs werden mit dieser IP-Adresse verglichen.

    Nein, ein INVITE wird nur dann diesem Peer zugeordnet, wenn die IP-Adresse übereinstimmt.

    Ich glaube, da bringst du etwas durcheinander. Sipgate authentifiziert sich nämlich nie bei dir. (Die Option insecure=very ist mindestens seit Version 1.4 veraltet und war nur ein Synonym für insecure=port,invite.)

    Was willst du damit sagen?
     
  18. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe das so verstanden das es bei einem Empfang eines SIP-Invites 2 verschiedene Typen gibt, der eine ist "user agent", der andere ist "SIP-Proxy".

    Beim Typ user agent wird mit einem Kanal vom Typ "user" gearbeitet. Dort werden die Daten für den Benutzer mit den Angaben im ausgewählten Abschnitt verglichen.

    Handelt es sich aber um Sip-Typ "SIP-Proxy" so wird ein Kanal vom Typ "peer" hergestellt.
     
  19. FrankIT

    FrankIT Mitglied

    Registriert seit:
    4 Feb. 2006
    Beiträge:
    735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es gibt keine zwei verschiedenen Arten von SIP-INVITEs, sondern nur zwei Arten, wie Asterisk einen eingehenden INVITE einem vordefinierten SIP-Kanal zuordnet. Dazu kann man in der sip.conf zwei verschiedene Eintragstypen verwenden – User und Peers. Allerdings braucht man User nur in sehr wenigen Fällen; auch für Endgeräte genügt in aller Regel ein Peer-Eintrag. Siehe auch http://www.voip-info.org/wiki/view/Asterisk+SIP+user+vs+peer.
     
  20. mipo222

    mipo222 Neuer User

    Registriert seit:
    9 März 2009
    Beiträge:
    58
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @ FrankIT

    Danke für die Erläuterungen, werde mich da gleich mal einlesen, wenn ich was nicht verstehe hake ich noch mal nach :)