struct sip_message { char *Start_Line; char *Accept; char *Accept_Encoding; char *Accept_Language; char *Alert_Info; char *Allow; char *Authentication_Info; char *Authorization; char *Call_ID; char *Call_Info; char *Contact; char *Content_Disposition; char *Content_Encoding; char *Content_Language; char *Content_Length; char *Content_Type; char *Cseq; char *Date; char *Error_Info; char *Expires; char *From; char *In_Reply_To; char *Max_Forwards; char *Min_Expires; char *MIME_Version; char *Organization; char *Priority; char *Proxy_Authenticate; char *Proxy_Authorization; char *Proxy_Require; char *Record_Route; char *Reply_To; char *Require; char *Retry_After; char *Route; char *Server; char *Subject; char *Supported; char *Timestamp; char *To; char *Unsupported; char *User_Agent; char *Via; char *Warning; char *WWW_Authenticate; char *Body; }; unsigned int parse_msg(char *msg, struct sip_message *msip);