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

mipo222

Neuer User
Mitglied seit
9 Mrz 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
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:[email protected]/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 ?
 
Zuletzt bearbeitet:
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
 
Zuletzt bearbeitet:
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 ?
 
Ja, Asche auf mein Haupt ! War schon dämlich nicht nochmal rüber zu schauen, ...:(
 
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 ?
 
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?
 
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 ?
 
Hi,

anbei der SIP-Debug Auszug:

Code:
*CLI> sip set debug on
SIP Debugging enabled
*CLI> Really destroying SIP dialog '[email protected]' Method: REGISTER

<--- SIP read from UDP://217.10.79.9:5060 --->
INVITE sip:[email protected]: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:[email protected]>;tag=as76fe5e64
To: <sip:[email protected]>
Contact: <sip:[email protected]>
Call-ID: [email protected]
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 - [email protected]
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:[email protected]>;tag=as76fe5e64
To: <sip:[email protected]>;tag=as0ec83d4e
Call-ID: [email protected]
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 '[email protected]' in 6400 ms (Method: INVITE)

<--- SIP read from UDP://217.10.79.9:5060 --->
ACK sip:[email protected]: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:[email protected]>;tag=as76fe5e64
Call-ID: [email protected]
To: <sip:[email protected]>;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:[email protected]>;tag=as4e3548d8
To: <sip:sipgate.de>
Contact: <sip:[email protected]>
Call-ID: [email protected]
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:[email protected]>;tag=as4e3548d8
To: <sip:sipgate.de>;tag=8367f0f887e3954243ec30fa0f5db288.f261
Call-ID: [email protected]
CSeq: 102 OPTIONS
Accept: */*
Accept-Encoding:
Accept-Language: en
Supported:
Content-Length: 0


<------------->
--- (12 headers 0 lines) ---
Really destroying SIP dialog '[email protected]' Method: OPTIONS
Really destroying SIP dialog '[email protected]' 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 :)
 
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 :)
 
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

:)
 
Zuletzt bearbeitet:
Code:
[ext-sip-account]
...
insecure=very             <--- ändern in: "insecure=port,invite"
...

[...] offen wie ein Scheunentor [...] der Call wird ohne jegliche Authentifizierung reingeleitet.

Das ist aber immer so, denn kein normaler Provider authentifiziert sich bei dir, wenn er dir einen Anruf signalisiert.

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

Woher hast du das denn? :confused:

nur "invite" = geht auch = ist klar - da ich ja "sipgate.de" angegeben habe

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

nur "port" = geht nicht = ist klar - da ich ja nur "sipgate.de" angegeben habe in der sip.conf und nicht die IP

Das würde mit der IP-Adresse genausowenig gehen. Du brauchst insecure=invite, weil sich Sipgate deinem Asterisk gegenüber nicht authentifiziert.
 
@ 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 :)
 
"very" ist bei 1.6 keine gültige Option mehr. Weiss ich aber auch erst seit eben.
 
@ stinkstiefel

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

danke für die Info !
 
Wenn sipgate.de ein SIP-Invite schickt, spricht versucht eine Verbindung aufzubauen, versucht Asterisk diesen Invite zu authentifiziern.

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

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.

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.)

Bei der Angabe von "port" schaut er nur nach einer Adresse, steht bei "host=" also ein DNS Eintrag wird der Call abgelehnt.

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.

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

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

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.

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.)

Das ganze bezieht sich auf den SIP-Typ "Sip-Proxy".

Was willst du damit sagen?
 
Was willst du damit sagen?

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.
 
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".

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.
 
@ FrankIT

Danke für die Erläuterungen, werde mich da gleich mal einlesen, wenn ich was nicht verstehe hake ich noch mal nach :)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.