Hi Benny! I made conformance testing with konformance testing tool, and found behaviour that is not as it should be accordingly to RFCs. Intention of this letter is to inform you about the results. I tested released version 0.7.0 of pjsua, so some errors could be corrected by now. And the results: 1. No reply to BYE with escaped sip uri. Session was made without escaped characters. Example: INVITE sip:701069 at 172.18.80.69;transport=udp SIP/2.0 Via: SIP/2.0/UDP 172.18.81.26:5060;rport;branch=z9hG4bKPj00290000518e5f9d45ea Max-Forwards: 70 From: "Sip" <sip:701026@172.18.80.69>;tag=00290000518c5f9d45ea To: sip:701069 at 172.18.80.69 Contact: "Sip" <sip:701026 at 172.18.81.26:5060;transport=UDP> Call-ID: 00290000518d5f9d45ea CSeq: 1422475148 INVITE Allow: INVITE, ACK, BYE, CANCEL, SUBSCRIBE, NOTIFY, REFER, OPTIONS, INFO Supported: norefersub, 100rel Content-Type: application/sdp Content-Length: 313 v=0 o=- 3397801224 3397801224 IN IP4 172.18.81.26 s=pjmedia c=IN IP4 172.18.81.26 t=0 0 m=audio 16384 RTP/AVP 8 0 4 96 97 98 18 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:4 G723/8000 a=rtpmap:96 G726-32/8000 a=rtpmap:97 G726-40/8000 a=rtpmap:98 G726-24/8000 a=rtpmap:18 G729/8000 a=sendrecv ... BYE sip:701026 at 172.18.81.26:5060 SIP/2.0 Call-ID: 00290000518d5f9d45ea CSeq: 1422475148 INVITE From: <sip:%37%30%31%30%36%39@172.18.80.69>;tag=4483 To: Sip <sip:701026 at 172.18.80.69>;tag=00290000518c5f9d45ea Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK6999 Max-Forwards: 70 Content-Length: 0 2. No reply to unknown method in message. 405 "Method Not Allowed" expected. Example: UNKNOWN sip:701026 at 172.18.80.37 SIP/2.0 Call-ID: 4613 at 172.18.81.26 CSeq: 48 UNKNOWN From: <sip:701069@172.18.80.37>;tag=8924 To: <sip:701026 at 172.18.80.37> Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK6967 Contact: sip:701069 at 172.18.80.69:5060;transport=UDP Max-Forwards: 70 Content-Length: 0 3. INVITE with missing Call-ID doesn't produce 400 Bad Request. Example: INVITE sip:701026 at 172.18.80.37 SIP/2.0 Contact: <sip:701069 at 172.18.80.69:5060;transport=UDP> CSeq: 69 INVITE From: <sip:701069@172.18.80.37>;tag=8860 Max-Forwards: 70 To: <sip:701026 at 172.18.80.37> Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK6628 4. Incorrect value of Content-Length in INVITE doesn't produce 400 "Bad request" reply. When the incorrect Content-Length in 200K ACK should not be send. Example: INVITE sip:701026 at 172.18.80.37 SIP/2.0 Call-ID: 6139 at 172.18.81.26 Contact: <sip:701069 at 172.18.80.69:5060;transport=UDP> Content-Disposition: session Content-Length: 160 Content-Type: application/sdp CSeq: 71 INVITE From: <sip:701069@172.18.80.37>;tag=8199 Max-Forwards: 70 To: <sip:701026 at 172.18.80.37> Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK5113 v=0 o=voicesession 12345 12345 IN IP4 193.174.154.20 s=Voice Session c=IN IP4 195.174.154.20 t=0 0 m=audio 8500 RTP/AVP 0 a=rtpmap:0 PCMU/8000 5. When re-INVITE with lower CSeq from initial INVITE is send before OK is received, 500 internal server error is expected. Example: INVITE sip:701026 at 172.18.80.69 SIP/2.0 Call-ID: 4773 at 172.18.81.26 Contact: <sip:701069 at 172.18.80.69:5060;transport=UDP> Content-Disposition: session Content-Length: 150 Content-Type: application/sdp CSeq: 82 INVITE From: <sip:701069@172.18.80.37>;tag=6161 Max-Forwards: 70 To: <sip:701026 at 172.18.80.69> Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK7446 v=0 o=voicesession 12345 12345 IN IP4 193.174.154.20 s=Voice Session c=IN IP4 195.174.154.20 t=0 0 m=audio 8500 RTP/AVP 0 a=rtpmap:0 PCMU/8000 SIP/2.0 180 Ringing Via: SIP/2.0/UDP 172.18.80.69:5060;received=172.18.80.69;branch=z9hG4bK7446 Call-ID: 4773 at 172.18.81.26 From:<sip:701069 at 172.18.80.37>;tag=6161 To: <sip:701026 at 172.18.80.69>;tag=0029000000c753c5d033 CSeq: 82 INVITE Contact: <sip:701026 at 172.18.81.26:5060;transport=UDP> Content-Length: 0 INVITE sip:701026 at 172.18.80.69 SIP/2.0 Call-ID: 4773 at 172.18.81.26 Contact: <sip:701069 at 172.18.80.69:5060;transport=UDP> Content-Disposition: session Content-Length: 140 Content-Type: application/sdp CSeq: 81 INVITE From: <sip:701069@172.18.80.37>;tag=6161 Max-Forwards: 70 To: <sip:701026 at 172.18.80.69> Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK6715 v=0 o=voicesession 12345 12345 IN IP4 127.0.0.1 s=Voice Session c=IN IP4 127.0.0.1 t=0 0 m=audio 8500 RTP/AVP 0 a=rtpmap:0 PCMU/8000 6. INVITE message with To-tag is not rejected with 481. Example: INVITE sip:701026 at 172.18.80.69 SIP/2.0 Call-ID: 2384 at 172.18.81.26 Contact: <sip:701069 at 172.18.80.69:5060;transport=UDP> Content-Disposition: session Content-Length: 150 Content-Type: application/sdp CSeq: 66 INVITE From: <sip:701069@172.18.80.37>;tag=9580 Max-Forwards: 70 To: <sip:701026 at 172.18.80.69>;tag=9079 Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK4221 v=0 o=voicesession 12345 12345 IN IP4 193.174.154.20 s=Voice Session c=IN IP4 195.174.154.20 t=0 0 m=audio 8500 RTP/AVP 0 a=rtpmap:0 PCMU/8000 7. In PJSIP message header are case sensitive. PJSIP doesn't support header "FrOM" of "ViA". Example BYE sip:701026 at 172.18.81.26:5060 SIP/2.0 CAll-ID: 0029000051a35f9d45ea CSEq: 620309820 INVITE FROM: <sip:701069 at 172.18.80.69>;tag=6815 To: Sip <sip:701026 at 172.18.80.69>;tag=0029000051a25f9d45ea ViA: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK1868 Max-Forwards: 70 Content-Length: 0 7. No reply to message with unknown parameter. Example: BYE sip:701026 at 172.18.81.26:5060;paramUnknown=nonunderstood SIP/2.0 Call-ID: 0029000051985f9d45ea Content-Length: 0 CSeq: 991774943 INVITE From: <sip:701069@172.18.80.69>;tag=6265 Max-Forwards: 70 To: SipProne26TTCN80 <sip:701026 at 172.18.80.69>;tag=0029000051975f9d45ea Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK3459 8.No reply to BYE method if From sip uri contains additional parameters. Example: BYE sip:701026 at 172.18.81.26:5060 SIP/2.0 Call-ID: 0029000053385f9d45ea Content-Length: 0 CSeq: 607358849 INVITE From: <sip:701069@172.18.80.69;method=CANCEL>;tag=502 Max-Forwards: 70 To: Sip<sip:701026 at 172.18.80.69;method=CANCEL>;tag=0029000053375f9d45ea Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK9108 or BYE sip:701026 at 172.18.81.26:5060 SIP/2.0 Call-ID: 0029000053315f9d45ea Content-Length: 0 CSeq: 1149224875 INVITE From: <sip:701069@172.18.80.69?h1=$>;tag=6979 Max-Forwards: 70 To: Sip <sip:701026 at 172.18.80.69?h2=$>;tag=0029000053305f9d45ea Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK816 BYE sip:701026 at 172.18.81.26:5060 SIP/2.0 Call-ID: 0029000053245f9d45ea Content-Length: 0 CSeq: 1808471132 INVITE From: <sip:701069@172.18.80.69;maddr=192.0.0.1>;tag=6482 Max-Forwards: 70 To: Sip <sip:701026 at 172.18.80.69;maddr=192.0.0.2>;tag=0029000053235f9d45ea Via: SIP/2.0/UDP 172.18.80.69:5060;branch=z9hG4bK8848 If you would like to have any additional information about testing, I can send it. regards, Vladimir Hozjan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20071009/34420073/attachment.html