diff --git a/sip/msg_test.go b/sip/msg_test.go index 0885316..cc8571a 100755 --- a/sip/msg_test.go +++ b/sip/msg_test.go @@ -130,6 +130,25 @@ var msgTests = []msgTest{ }, }, + { + name: "Naked URI", + s: "SIP/2.0 200 OK\r\n" + + "From: sip:127.0.0.1:1234\r\n" + + "\r\n", + msg: sip.Msg{ + VersionMajor: 2, + Status: 200, + Phrase: "OK", + From: &sip.Addr{ + Uri: &sip.URI{ + Scheme: "sip", + Host: "127.0.0.1", + Port: 1234, + }, + }, + }, + }, + { name: "Line Continuation Warning", s: "SIP/2.0 200 OK\r\n" + diff --git a/sip/sip.rl b/sip/sip.rl index b10235c..8e4a727 100644 --- a/sip/sip.rl +++ b/sip/sip.rl @@ -422,7 +422,7 @@ addr_angled_end = CRLF @Addr @goto_header | SEMI <: any @hold @goto_addr_param | COMMA <: any @Addr @hold @goto_addr; addr_angled := addr_display? addr_spec addr_angled_end; -addr_uri_end = CRLF %Addr @goto_header +addr_uri_end = CRLF @Addr @goto_header | SEMI <: any @hold @goto_addr_param | COMMA <: any @Addr @hold @goto_addr; addr_uri := ( uri - ";" ) %AddrUri addr_uri_end;