sofia-sip/soa.h File Reference


Detailed Description

SDP Offer/Answer (RFC 3264) Interface.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>

Kai Vehmanen <Kai.Vehmanen@nokia-email.address.hidden>

Date:
Created: Fri Jul 15 15:43:53 EEST 2005 ppessi

#include <sofia-sip/su_wait.h>
#include <sofia-sip/su_tag.h>

Include dependency graph for soa.h:

Go to the source code of this file.

Functions

SOFIAPUBFUN void soa_destroy (soa_session_t *)
 Destroy a session.
SOFIAPUBFUN int soa_set_params (soa_session_t *ss, tag_type_t tag, tag_value_t value,...)
 Set tagged parameters.
SOFIAPUBFUN int soa_get_params (soa_session_t const *ss, tag_type_t tag, tag_value_t value,...)
 Get tagged parameters.
SOFIAPUBFUN tagi_tsoa_get_paramlist (soa_session_t const *ss, tag_type_t tag, tag_value_t value,...)
 Return a list of parameters.
SOFIAPUBFUN int soa_get_warning (soa_session_t *ss, char const **return_phrase)
 Return warning code and text.
SOFIAPUBFUN int soa_get_remote_version (soa_session_t const *ss)
 Returns the version number of remote session description.
SOFIAPUBFUN int soa_get_user_version (soa_session_t const *ss)
 Returns the version number of user session description.
SOFIAPUBFUN int soa_generate_offer (soa_session_t *, int always, soa_callback_f *)
 Run Offer step.
SOFIAPUBFUN int soa_generate_answer (soa_session_t *, soa_callback_f *)
SOFIAPUBFUN int soa_process_answer (soa_session_t *, soa_callback_f *)
 Complete offer-answer after receiving answer.
SOFIAPUBFUN int soa_process_reject (soa_session_t *, soa_callback_f *)
 Process rejection of offer.
SOFIAPUBFUN int soa_activate (soa_session_t *, char const *option)
 Activate session.
SOFIAPUBFUN int soa_deactivate (soa_session_t *, char const *option)
 Deactivate session.
SOFIAPUBFUN void soa_terminate (soa_session_t *, char const *option)
 Terminate session.
SOFIAPUBFUN int soa_init_offer_answer (soa_session_t *ss)
 Initialize offer/answer state machine.


Function Documentation

SOFIAPUBFUN int soa_activate ( soa_session_t *  ,
char const *  option 
)

Activate session.

EFAULT Bad address as ss.

SOFIAPUBFUN int soa_deactivate ( soa_session_t *  ,
char const *  option 
)

Deactivate session.

EFAULT Bad address as ss.

SOFIAPUBFUN int soa_generate_answer ( soa_session_t *  ,
soa_callback_f *   
)

SOFIAPUBFUN int soa_generate_offer ( soa_session_t *  ss,
int  always,
soa_callback_f *  completed 
)

Run Offer step.

Parameters:
ss pointer to session object
always always send offer (even if offer/answer has been completed)
completed pointer to callback function which is invoked when operation is completed
Return values:
1 when operation is successful
0 when operation is not needed
-1 upon an error
Errors:

EFAULT Bad address.
An operation is already in progress
EPROTO We have received offer, now we should send answer
EPROTO We have received SDP, but it has not been processed
EPROTO We have sent an offer, but have received no answer
EPROTO We have received offer.

SOFIAPUBFUN int soa_get_remote_version ( soa_session_t const *  ss  ) 

Returns the version number of remote session description.

The version numbering starts from zero and is incremented for each modification.

SOFIAPUBFUN int soa_get_user_version ( soa_session_t const *  ss  ) 

Returns the version number of user session description.

The version numbering starts from zero and is incremented for each modification.

SOFIAPUBFUN int soa_process_answer ( soa_session_t *  ,
soa_callback_f *   
)

Complete offer-answer after receiving answer.

EFAULT Bad address as ss.
An operation is already in progress.
EPROTO We have not sent an offer or already have received answer.
EPROTO We have not received answer.

SOFIAPUBFUN int soa_process_reject ( soa_session_t *  ,
soa_callback_f *   
)

Process rejection of offer.

EFAULT Bad address as ss.
An operation is already in progress.
EPROTO We have not sent an offer or already have received answer.

SOFIAPUBFUN void soa_terminate ( soa_session_t *  ,
char const *  option 
)

Terminate session.

EFAULT Bad address as ss.


Sofia-SIP 1.12.1 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.