Skip Navigation Links | |
Exit Print View | |
SIPAPI Developer's Guide Oracle Solaris 11.1 Information Library |
2. Oracle Solaris SIP Internals
Writing Parsers For Custom Headers
Transaction Creation And Maintenance
Transaction Creation and ACK Signal Generation
Transaction And Network Errors
Dialog Termination, Deletion, and Notification
Transaction Layer and I/O Errors
Generating Call-ID, From and To tags, Branch-ID and Cseq
3. Multithreading and URI Support
The timer management facility mimics the timeout and un-timeout functionality of the UNIX kernel. A thread maintains a list of timer objects sorted by time. The thread invokes the callback function at the interval that the timer specifies.
The stack initializes the timer layer during stack initialization. Initializing the timer layer starts the timer thread.
The sip_timeout() function takes the following arguments:
The callback function to use
The time interval to wait before invoking the callback function
The argument to pass to the callback function
The return value of the timeout function is a timeout identifier. The tack can cancel a timeout by passing the timeout ID of the timeout to cancel to the sip_untimeout() function