2009/2/3 Andrew Rechenberg Lists <flux...@resurgent.com>: > My Sofia-based application is talking to a Microsoft OCS 2007 server and > I believe, in true MS fashion, that certain headers are not quite in > adherence to the RFCs. Could it be that Sofia is not parsing those > headers as a result of them not being standard?
> Authentication-Info: NTLM rspauth="01000000000000002DBA2B7889FDE4C9", > srand="E8CDC093", snum="1", opaque="F06AE926", qop="auth", > targetname="OCS1.flux.local", realm="SIP Communications Service" Authentication-Info is non-standard (MS-version borrows the syntax from WWW-Authenticate, it seems to me). I have not checked, but the rest of the comma-separated fields should be in ai_items[] array. Please note that sip->sip_authentication_info->ai_common->h_data is not valid if the parser has not been asked to cache the unparsed contents (TPORT_LOG environment variable forces the parser to do caching. It might be quite confusing if your code works with debugging logs on, but does not when they are turned off). > Allow-Events: > vnd-microsoft-provisioning,vnd-microsoft-roaming-contacts,vnd-microsoft- > roaming-ACL,presence,presence.wpending,vnd-microsoft-roaming-self,vnd-mi > crosoft-provisioning-v2 > The Allow-Events information in sip->sip_allow_events seems to only > contain the first entry (in my case I only see > "vnd-microsoft-provisioning" in the debugger). > sip->sip_allow_events->k_next is NULL. Allow-Events is parsed as a "list" header, that is, instead of having separate sip_allow_events_t structure for each token, tokens are stored in k_items. So vnd-microsoft-roamin-contacts should be in k_items[1] (In retrospective, that is feature that overtly complicates header processing). > Also, the sip->sip_contact information only has pieces of the full > contact line listed above. > In particular I need to keep track of the gruu="*" information in the > Contact header, and some additional information in the > Authentication-Info, and Allow-Events headers. The params from Contact URL are as a single string in m_url->url_params (you can use url_param() function to access any of them). The header parameters (like gruu, outside <>) are in m_params[] array. -- Pekka.Pessi mail at nokia.com ------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ Sofia-sip-devel mailing list Sofia-sip-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel