HP-UX C SIP Stack Programmer's Guide (Novembery 2007)

Working with Transmitters 211
11
WORKING WITH TRANSMITTERS
INTRODUCTION The SIP Stack uses transmitter objects (transmitters) for message sending. Each
transaction holds a single transmitter and uses it to send SIP messages and
message retransmissions. The transaction creates its transmitter upon
initialization and terminates it only upon destruction. The transmitter is
responsible for all message sending activities, including address resolution, Via
header handling, and the actual message sending.
The application can also directly use transmitters. The application can create
transmitters and use them to send SIP messages that are not related to
transactions. Each transmitter can send a single SIP message (Request or
Response). Applications will need to use transmitters in several situations. For
example, a proxy application should use transmitters to proxy responses that
were not mapped to any transaction or the ACK on the 2xx response to
INVITE. A transmitter can also be used to send non-SIP messages. The
application can use the transmitter to send any buffer it wishes to its chosen
destination.
This chapter focuses on how the application uses transmitters to send SIP
messages. The section, Sending Buffers with Transmitter Objects, explains how
to use the transmitter to send a non-SIP message.
TRANSMITTER ENTITIES The Transmitter API relates to the following two entities:
Transmitter (transmitter)
Transmitter Manager (TransmitterMgr)