pedantic=yes nur für manche SIP-Clients benutzen, aber wie?

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Ich habe ein wahrscheinlich etwas exotisches Problem. Ich betreibe die DeTeWe OpenCom31 LAN/SIP an einem *. Funktioniert alles soweit prima.

Allerdings kann ich nur einen SIP-Account der OC31 am Asterisk anmelden, solange in der [general]-Section der sip.conf pedantic=no steht, bzw. es auskommentiert ist.

Wenn ich pedantic=yes setzte, können sich alle 4 Accounts gleichzeitig anmelden. Laut dem Entwickler von DeTeWe liegt das daran, dass die OC31 immer dieselbe Call-ID benutzt.

Aber: Wenn pedatic=yes ist, kann ich nicht mehr über externe Provider (freent, sipgate, gmx) telefonieren. Verbindung wird signalisiert, aber es kommt kein Audio durch oder die Verbindung bricht gleich ab.

Da man pedantic nur im [general]-Abschnitt der sip.conf benutzen kann, lässt es sich nicht individuell einstellen. Habt ihr vielleicht eine Idee, wo man da ansetzen könnte?

Entweder noch eine andere Konfigurationsmöglichkeit oder evtl. könnte man die Konfiguration irgenwie verändern & neu laden, wenn ein Anruf gestartet wird oder so?

Udo
 
Mal ne "blöde" Frage - ist es zwingend notwendig, daß sich alle 4 Sip Accounts auch gleichzeitig registrieren ? Denn wenn es z.B. nur darum geht, SIP abgehend zu verwenden, ist bei den meisten Providern keine Registrierung notwendig.

Alternativ könntest Du mal probieren, ob Dir die Realtime-Konfiguration weiterhelfen könnte.
 
@betateilchen: Es geht nicht um das Registrieren der 4 Accounts bei den Providern, sondern am Asterisk.

Da möchte ich sie einzelen registriert haben, damit ich sie auch gezielt per SIP anwählen kann.

Was hätte die Realtime-Konfig mit der ganzen Sache zu tun?
 
Vereinfacht gesagt, sind die SIP-Clients dann nur auf dem Asterisk registriert, wenn sie auch gebraucht werden. Nach einem gewissen Timeout sind die dann wieder "weg".

Dazu gibt es die Parameter:
rtcachefriends=yes
rtautoclear=yes

Ob das wirklich die Lösung für Dein Problem wäre, kann ich Dir nicht versprechen. Aber einen Versuch ist es jedenfalls wert.
 
pedantic=yes ist auf jeden Fall immer ein globaler Parameter. pedantic=yes greift halt schon, bevor ueberhaupt klar ist, von welchem user/peer die Nachricht kommt. Es ist daher nicht moeglich, das ganze pro user/peer zu setzen.

Ich wuerde dir empfehlen, dass du bei den 4 Accounts einfach host=<ip> setzt. Damit wird dann die Registrierung ueberfluessig.
 
betateilchen schrieb:
Vereinfacht gesagt, sind die SIP-Clients dann nur auf dem Asterisk registriert, wenn sie auch gebraucht werden. Nach einem gewissen Timeout sind die dann wieder "weg".

Nee, das ist nicht der Punkt. Es ist so: Einen Client registrieren geht immer, egal ob pedantic=yes oder =no.

Sobald sich mehr als ein Cleint von der OC31 am * anmelden will, wird die Registrierung vom Asterisk abgelehnt. Das ist zwar nicht weiter schlimm, wenn man Host=<IP-der-OC31> setzt (danke @Maik), aber dann versucht die OC31 alle 20 Sek. sich anzumelden und der * knallt die Console voll mit "Peer 'XY' is trying to register, but not configured as host=dynamic"-Meldungen.

Also nicht wirklich 'schön'.

Ich wüsste ja auch mal gerne, wieso die SIP-Provider sich am pedantic=yes stören. Angeblich verhält sich der * dann RFC-konform.

Udo
 
udosw schrieb:
Ich wüsste ja auch mal gerne, wieso die SIP-Provider sich am pedantic=yes stören. Angeblich verhält sich der * dann RFC-konform.

Naja das ist ein wenig uebertrieben. :)
AFAIK wirkt sich pedantic=yes nur aufs parsing von ankommenden Nachrichten aus. Bei pedantic=yes werden halt noch genauere Checks gemacht, die nur fuer einige wenige Situationen benoetigt werden. Du kannst ja mal 'sip debug' machen und die Unterschiede rausfinden, die entstehen, wenn du pedantic auf ein-/ausschaltest. Evtl. ist es ja auch nur ein kleiner bug, den man schnell beheben kann.
 
Tja, der debug unterscheidet sich nicht, ob pedantic=no oder yes. Nur kommt dann das Destroying call ... wenn pedantic=yes:

Code:
[... geschenkt ... der normale Gesprächsaufbau ...]

SIP/2.0 100 trying -- your call is important to us
Via: SIP/2.0/UDP 82.82.137.xxx:5060;branch=z9hG4bK72300faf
From: "Schnurlos" <sip:[email protected]>;tag=as38510777
To: <sip:[email protected]>
Call-ID: [email][email protected][/email]
CSeq: 103 INVITE
Content-Length: 0


7 headers, 0 lines
pingu*CLI> 

Sip read: 
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 82.82.137.xxx:5060;branch=z9hG4bK72300faf
From: "Schnurlos" <sip:[email protected]>;tag=as38510777
To: <sip:[email protected]>;tag=111D7C60-9D1
Date: Sun, 12 Jun 2005 15:51:07 GMT
Call-ID: [email][email protected][/email]
Server: Cisco-SIPGateway/IOS-12.x
CSeq: 103 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO, UPDATE, REGISTER
Allow-Events: telephone-event
Contact: <sip:[email protected]:5060>
Record-Route: <sip:[email protected];ftag=as38510777;lr=on>,<sip:[email protected];ftag=as38510777;lr=on>
Content-Disposition: session;handling=required
Content-Type: application/sdp
Content-Length: 206

v=0
o=CiscoSystemsSIP-GW-UserAgent 7120 7530 IN IP4 62.104.210.130
s=SIP Call
c=IN IP4 62.104.210.130
t=0 0
m=audio 16412 RTP/AVP 0
c=IN IP4 62.104.210.130
a=rtpmap:0 PCMU/8000
a=direction:passive

15 headers, 9 lines
Wenn pedantic=yes ist, kommt:
Code:
Destroying call '[email protected]'
und es klingelt beim gerufenen Telefon. Im rufenden Telefon bleibt es stumm (kein Rufzeichen, keine Audio) egal, ob der gerufene das Gespräch entgegennimmt oder nicht.

Wenn pedantic=no ist kommt:
Code:
Found RTP audio format 0
Peer audio RTP is at port 62.104.210.130:18912
und das Gespräch kommt ganz normal zustande.

Getestet bei freenet, web, gmx. Verhalten immer gleich.

Wenn ich das Gespräch per IAX über portunity leite, klappt es auch mit pedantic=yes.

Udo
 
Das koennte dieser Bug sein. Der sollte in der naechsten stable-Version gefixed sein. Du kannst ja evtl. mal versuchen, die aktuelle Version aus dem CVS stable branch zu verwenden.
 
@Maik: Super! Das war's!

Leider findet er im CVS-stable die Soundfiles nicht, aber das wird schon ...

Dieses Forum ist einfach Klasse!

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