This API defines the SIP message stack.
This API defines the SIP message stack. This API is responsible for low level SIP message marshalling, tying messages to call sessions, and handling IP based events.
Create a speech link API and instantiate it.
The event loop is run in the current thread. This method normally only
returns when another thread calls the SLSipStop() function.
This causes the SLSipStart() function to return with a return code of SL_SUCCESS.
Invites the specified SIP URL and returns a call object. SIP URL's must all
start with sip: The call object
must freed using the function SLSipCallDestroy when the call is terminated. This will trigger the SL_INVITE event on the callee side.
The call is accepted by sending a 200/OK response. The calling party will
have a SL_SUCCEEDED event triggered upon reception of the 200 response.
This function is used when the callee does not wish to engage in a
conversation with the caller. This function triggers the SL_TERMINATED
event at the calling party.
This function should be called as part of the handler for SL_SUCCEEDED
events. This will trigger the SL_CONFIRMED event on the callee side.
SLSIP_API SLresult SLSipShutdown(void *args)
SLSIP_API SLresult SLSipGetProperty(const SLchar *propName, SLValue *value)
value - SLValue containing the property value. Will be allocated in the call.
SLSIP_API SLresult SLSipSetProperty(const SLchar *propName, SLValue *value)
value - SLValue containing the property value to set.
SLSIP_API SLresult SLSipAddCallback(SLSipEvent e, SLSipEventInfo *info)
info - in[x] structure containing the callback information. The
information is copied and the structure can be safely modified after the
function returns.
SLSIP_API SLresult SLSipRemoveCallback(SLSipEvent e, SLSipEventInfo *info)
info - out[x] structure where the information is to be stored. The
structure must be allocated by the caller.
SLSIP_API SLchar SLSipErrorMsg(SLresult err)
SLSIP_API SLresult SLSipStart()
SLSIP_API SLresult SLSipStop()
SLSIP_API SLresult SLSipCallInvite(SLCall** call, const SLchar *sipurl, const SLchar *bodyType, const void *body, SLuint bodyLength)
sipurl - in[x] The SIP URL of the callee.
bodyType - in[x] The mime-type of the user data body message.
body - in[x] The data block to be sent
bodyLength - in[x] The length of the body being sent in bytes
SLSIP_API SLresult SLSipCallDestroy(SLCall** call)
SLSIP_API SLresult SLSipCallAccept(SLCall* call, const SLchar *bodyType, const void *body, SLuint bodyLength)
bodyType - in[x] The mime-type of the user data body message.
body - in[x] User specific data that is part of the response message.
bodyLength - in[x] The length of the body in bytes
SLSIP_API SLresult SLSipCallReject(SLCall* call, const SLchar *bodyType, const void *body, SLuint bodyLength)
bodyType - in[x] The mime-type of the user data body message.
body - in[x] User specific data that is part of the response message.
bodyLength - in[x] The length of the body in bytes
SLSIP_API SLresult SLSipCallAck(SLCall* call)
SLSIP_API SLresult SLSipCallTerminate(SLCall* call)
SLSIP_API SLresult SLSipCallReinvite(SLCall* call, const SLchar *bodyType, const void *body, SLuint bodyLength)
bodyType - [in] the mime type of the body of the message.
body - [in] the body of the message.
bodyLength - [in] the number of bytes in the body.
SLSIP_API SLresult SLSipCallRespondToReinvite(SLCall *call, SLuint statusCode, const SLchar *bodyType, const void *body, SLuint bodyLength)
statusCode - [in] the SIP status code to send as part of the re-invite
bodyType - [in] the mime type of the body of the message.
body - [in] the body of the message.
bodyLength - [in] the number of bytes in the body.
SLSIP_API SLresult SLSipCallAnswer(SLCall *call, SLuint statusCode, const SLchar *bodyType, const void *body, SLuint bodyLength)
statusCode - [in] the SIP status code to send in response to the invite.
bodyType - [in] the mime type of the body of the message.
body - [in] the body of the message.
bodyLength - [in] the number of bytes in the body.
SLSIP_API SLresult SLSipMessageGetHeader(SLSipMessage *message, const SLchar *header, void *value)
header - [in] NULL terminated header parameter to extract
value - [out] Pointer to a place to store the result. For SLchar**,
a pointer to a string belonging to the message is returned. This string
should be copied by the caller if it is needed after the message goes out of
scope.
SLSIP_API SLSipResponse SLSipMessageAsResponse(SLSipMessage *message)
SLSIP_API SLSipRequest SLSipMessageAsRequest(SLSipMessage *message)
SLSIP_API SLresult SLSipMessageGetContentTypeAttributeValue(SLSipMessage *message, const SLchar *attribute, const SLchar **value)
attribute - in[x] A null-terminated string containing the name of the
attribute to retrieve.
value - out[x] A pointer to be set to the value of the attribute. The
pointer points to a string whose lifetime is the same as the message (for
the duration of the event handler).
SLSIP_API SLresult SLSipResponseGetStatusCode(SLSipResponse *response, SLuint* code)
code - [out] The response code in the response structure
SLSIP_API SLresult SLSipResponseGetReasonPhrase(SLSipResponse *response, const SLchar** value)
value - [out] string containing the reason phrase. The string should be copied if required after the response gets out of scope.
SLSIP_API SLresult SLSipRequestGetMethod(SLSipRequest *request, const SLchar **method)
method - [out] pointer to a string containing the request method. The * string should be copied if required after the request is out of scope.
Alphabetic index HTML hierarchy of classes or Java