Sofia-SIP FAQ
From OpenSource
[edit] Sofia-SIP FAQ
Q1: Which API to use, NUA or NTA? (added 2006-09-11)
A1: NUA and NTA are the primary interfaces Sofia-SIP provides to application developers. NUA, the User-Agent API, offers a higher layer interface while NTA, the Transaction API, provides a direct interface to SIP transaction, transport and message handling. NUA itself is implemented on top of NTA.
NUA is ideal for implementing SIP clients such as VoIP and IM applications, and server elements implemented as SIP clients. NUA hides many complex tasks, such as dialog management, offer/answer negotiation, and registration management, from the application developer. NUA is not designed for building SIP server elements such as proxies and registrars. For these applications, NTA is the appropriate Sofia-SIP interface to use. Note that currently (Sep/06), NUA has a limitation of supporting only one identity per one NUA instance.
Q2: How to handle unknown NUA events? (added 2006-09-14)
A2: When receiving an unknown NUA event, application should check whether the associated handle (nua_handle_t) is known by the application (related to an existing call or registration for instance). If the handle is known, the application can simply ignore the event. If the handle is a new one, application should destroy it with nua_handle_destroy().
Q3: My application is not working, how to start debugging? (added 2006-09-27)
A3: Many times the best way to start debugging is to take a look at the raw SIP messages received and sent by your application. When console output is available, you can set the "TPORT_DEBUG" environment variable to "1" in order to get the SIP messages printed out to standard output from an application using Sofia-SIP. Alternatively you can use network protocol analyzers such as tcpdump, Ethereal or Wireshark to capture the messages. In many cases it's useful to quote these logs when reporting bugs to the development team. For a full list of Sofia-SIP debugging and logging options, please see http://sofia-sip.sourceforge.net/refdocs/debug_logs.html .
Q4: Does Sofia-SIP support win32? (added 2006-12-12)
A4: Yes. Sofia-SIP can be used on Linux, BSD, Mac OS X, and yes, also on various Windows platforms. See the following links for more win32 specific info:
- http://www.mail-archive.com/sofia-sip-devel@lists.sourceforge.net/msg01000.html
- http://sofia-sip.org/repos/sofia-sip/win32/README.txt
- http://sofia-sip.org/repos/sofia-sip/docs/devel_platform_notes.txt
Note: before adding new questions to this FAQ, please search the sofia-sip-devel mailing list archives and consider asking the question on the sofia-sip mailing list.
