On 2/8/19 2:43 AM, Rakesh wrote:
Sorry typo. "ff" I mean.
Since we are talking about HEX, ff & FF are the same.
More below.
BR///
Rakesh Kumar Mohanty
On Fri, Feb 8, 2019 at 1:12 PM Rakesh <rak...@gmail.com
<mailto:rak...@gmail.com>> wrote:
Hi Paul,
Thank you very much.
Another think I am thinking is FF is also not valid as per RFC 3261
it is UTF-8 Character set.
Am I correct in understanding ?
Not quite - its not that simple. For one thing, UTF8 MAY appear in some
sip header fields, at least in principle:
extension-header = header-name HCOLON header-value
header-name = token
header-value = *(TEXT-UTF8char / UTF8-CONT / LWS)
OTOH, IIUC FF will never appear in UTF8 and so cannot validly appear in
a sip header field. But it MAY appear in a sip *message-body*:
message-body = *OCTET
So, if you have "lost sync" in a TCP sip connection there is no sure way
to find the beginning of the next sip message. If you encounter FF, or a
non-UTF8 octet, then you certainly aren't at the *beginning* of a sip
message. But you *might* be looking at part of a body of a sip message
that was garbled. You can keep looking for either a message-header or
Status-Line and *hope* that it is the start of a message. But it might
not be. It could be part of a message-body.
I am confused about what you are looking to understand with these
questions. If you can explain that then perhaps we can provide more help.
Thanks,
Paul
BR///
Rakesh Kumar Mohanty
On Thu, Feb 7, 2019 at 11:07 PM Paul Kyzivat <pkyzi...@alum.mit.edu
<mailto:pkyzi...@alum.mit.edu>> wrote:
Rakesh privately asked me why this doesn't conform to the ABNF
of a sip
message. I'm replying to the list for the benefit of others.
Here is some of the relevant ABNF:
SIP-message = Request / Response
Request = Request-Line
*( message-header )
CRLF
[ message-body ]
Request-Line = Method SP Request-URI SP SIP-Version CRLF
Method = INVITEm / ACKm / OPTIONSm / BYEm
/ CANCELm / REGISTERm
/ extension-method
extension-method = token
Response = Status-Line
*( message-header )
CRLF
[ message-body ]
Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
SIP-Version = "SIP" "/" 1*DIGIT "." 1*DIGIT
token = 1*(alphanum / "-" / "." / "!" / "%" / "*"
/ "_" / "+" / "`" / "'" / "~" )
Examining this you can see that a message must start with one of
the
following:
- a token - a method name
- "SIP/" - beginning a sip version
What you show is neither of those, so it isn't valid sip.
Over UDP every packet must start with a message. Over TCP, messages
immediately follow one another. Every request or response ends
with CRLF
followed by an optional body. You must parse Content-Length in
order to
skip over the body (which may also contain CRLF).
If you encounter something that doesn't parse as a message with TCP
input you have to close the connection without parsing any more,
or else
use a heuristic to skip over stuff until you find what seems to
be the
beginning of a new message.
Thanks,
Paul
> 0000 *ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff *
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> > 0010 * ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff*
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> > 0020 0000 ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff
> > ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> > 0010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> > 0020 ff ff ff ff ff ff ff ff ff ff ff 58 2d 42 72 6f
> ÿÿÿÿÿÿÿÿÿÿÿX-xro
> > 0030 61 64 57 6f 72 6b 73 2d 44 4e 43 3a 20 6e 65
74 : net
> > 0040 77 6f 72 6b 2d 61 64 64 72 65 73 73 3d 22 73 69
> work-address="si
> > 0050 70 3a 2b 33 34 39 33 37 38 31 37 30 31 36 40 6d
> p:@xx.yyy.net <mailto:p...@xx.yyy.net>
<mailto:p...@xx.yyy.net <mailto:p%2...@xx.yyy.net>>
> > 0070 74 3b 75 73 65 72 3d 70 68 6f 6e 65 22 3b 75 73
> t;user=phone";us
> > 0080 65 72 2d 69 64 3d 22 39 33 37 38 31 37 30 31 36
> er-id="11111111"
> > 0090 40 6d 66 65 2e 74 65 6c 65 66 6f 6e 69 63 61
2e @xx.yyy.
> > 00a0 6e 65 74 22 0d 0a
net"..
> > ÿÿÿÿÿÿÿÿÿÿÿX-xro
> > 0030 61 64 57 6f 72 6b 73 2d 44 4e 43 3a 20 6e 65
74 : net
> > 0040 77 6f 72 6b 2d 61 64 64 72 65 73 73 3d 22 73 69
> work-address="si
> > 0050 70 3a 2b 33 34 39 33 37 38 31 37 30 31 36 40 6d
> p:@xx.yyy.net <mailto:p...@xx.yyy.net>
<mailto:p...@xx.yyy.net <mailto:p%2...@xx.yyy.net>>
> > 0070 74 3b 75 73 65 72 3d 70 68 6f 6e 65 22 3b 75 73
> t;user=phone";us
> > 0080 65 72 2d 69 64 3d 22 39 33 37 38 31 37 30 31 36
> er-id="11111111"
> > 0090 40 6d 66 65 2e 74 65 6c 65 66 6f 6e 69 63 61
2e @xx.yyy.
> > 00a0 6e 65 74 22 0d 0a
net"..
> >
> > [image: image.png]
> >
> > BR///
> >
> > Rakesh Kumar Mohanty
> >
> >
> > On Wed, Feb 6, 2019 at 3:21 PM Rakesh
<rak...@gmail.com <mailto:rak...@gmail.com>
> <mailto:rak...@gmail.com <mailto:rak...@gmail.com>>> wrote:
> >
> >> Hi Expert,
> >>
> >> Can I just know on INVITE request if I get the below
characters
> then is
> >> it OK as per ABNF grammar? Please note I am not
asking about
> the header
> >> rather I need to know the correctness of the
character that has
> appeared on
> >> INVITE request.
> >>
> >>
> >>
>
[truncated]\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\37
> >> Expert Info (Note/Undecoded): Unrecognised SIP header
> >> (�������������������������������������������)
> >>
> >> [image: image.png]
> >> [image: image.png]
> >>
> >> BR///
> >>
> >> Rakesh Kumar Mohanty
> >>
> >
> >
> > _______________________________________________
> > Sip-implementors mailing list
> > Sip-implementors@lists.cs.columbia.edu
<mailto:Sip-implementors@lists.cs.columbia.edu>
> <mailto:Sip-implementors@lists.cs.columbia.edu
<mailto:Sip-implementors@lists.cs.columbia.edu>>
> >
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
> >
>
> _______________________________________________
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
<mailto:Sip-implementors@lists.cs.columbia.edu>
> <mailto:Sip-implementors@lists.cs.columbia.edu
<mailto:Sip-implementors@lists.cs.columbia.edu>>
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
>
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors