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

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

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von udosw, 12 Juni 2005.

  1. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hannover
    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
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    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.
     
  3. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hannover
    @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?
     
  4. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    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.
     
  5. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  6. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hannover
    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
     
  7. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  8. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hannover
    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:xxxxxx@freenet.de>;tag=as38510777
    To: <sip:05116009xxxx@freenet.de>
    Call-ID: [email]09f261ae752112160c3f76934c407086@freenet.de[/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:xxxxxx@freenet.de>;tag=as38510777
    To: <sip:05116009xxxx@freenet.de>;tag=111D7C60-9D1
    Date: Sun, 12 Jun 2005 15:51:07 GMT
    Call-ID: [email]09f261ae752112160c3f76934c407086@freenet.de[/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:00495116009xxxx@62.104.210.130:5060>
    Record-Route: <sip:05116009xxxx@194.97.52.47;ftag=as38510777;lr=on>,<sip:05116009xxxx@194.97.54.97;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 '09f261ae752112160c3f76934c407086@freenet.de'
    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
     
  9. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  10. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hannover
    @Maik: Super! Das war's!

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

    Dieses Forum ist einfach Klasse!

    Udo