Loading codec/c++/sip_codets.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ bool is_tel_scheme (const char * pszScheme) { #define SIPCHARS_UTF8_NONASCII "\x80-\xFD" #define SIPREG_ESCAPED "(%[0-9A-Fa-f]{2})" #define SIPREG_TOKEN "[" SIPCHARS_ALFANUM ".!%*_+`'~\\-]+" #define SIPREG_WORD "(?:[][" SIPCHARS_ALFANUM "\\-.!%*_+`'~()<>:\\\\\"/?{}])+" // sip version #define SIPREG_SIP_VERSION "SIP/[0-9]\\.[0-9]" Loading Loading @@ -623,6 +624,7 @@ private: SIP_HEADER_ADD (From, f, fromField, FROM_E); SIP_HEADER_ADD (Via, v, via, VIA_E); SIP_HEADER_ADD (Accept, , accept, ACCEPT_E); SIP_HEADER_ADD (Call-ID,i, callId, CALL_ID_E); { mEntries.push_back(Entry("", "", MessageHeader::id_undefinedHeader_List, "")); Entry& e = *mEntries.rbegin(); Loading Loading @@ -904,4 +906,14 @@ void StatusLine::PostDecode (Buffer& buffer) throw (DecodeError) reg_crlf.MovePast(buffer); } void CallId::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { if (id == id_callid) { static Regex reg_cid ("^" SIPREG_WORD "(@" SIPREG_WORD ")*" ); reg_cid.AssertMatch(buffer, this); SetHypFieldLength (id, reg_cid.GetMatchedLength()); } } }} // namespaces Loading
codec/c++/sip_codets.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ bool is_tel_scheme (const char * pszScheme) { #define SIPCHARS_UTF8_NONASCII "\x80-\xFD" #define SIPREG_ESCAPED "(%[0-9A-Fa-f]{2})" #define SIPREG_TOKEN "[" SIPCHARS_ALFANUM ".!%*_+`'~\\-]+" #define SIPREG_WORD "(?:[][" SIPCHARS_ALFANUM "\\-.!%*_+`'~()<>:\\\\\"/?{}])+" // sip version #define SIPREG_SIP_VERSION "SIP/[0-9]\\.[0-9]" Loading Loading @@ -623,6 +624,7 @@ private: SIP_HEADER_ADD (From, f, fromField, FROM_E); SIP_HEADER_ADD (Via, v, via, VIA_E); SIP_HEADER_ADD (Accept, , accept, ACCEPT_E); SIP_HEADER_ADD (Call-ID,i, callId, CALL_ID_E); { mEntries.push_back(Entry("", "", MessageHeader::id_undefinedHeader_List, "")); Entry& e = *mEntries.rbegin(); Loading Loading @@ -904,4 +906,14 @@ void StatusLine::PostDecode (Buffer& buffer) throw (DecodeError) reg_crlf.MovePast(buffer); } void CallId::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { if (id == id_callid) { static Regex reg_cid ("^" SIPREG_WORD "(@" SIPREG_WORD ")*" ); reg_cid.AssertMatch(buffer, this); SetHypFieldLength (id, reg_cid.GetMatchedLength()); } } }} // namespaces