Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

oSIP sdp negotiation facility.
[The SDP modules]


Classes

struct  osip_rfc3264

Defines

#define MAX_AUDIO_CODECS   100
#define MAX_VIDEO_CODECS   100
#define MAX_T38_CODECS   2
#define MAX_APP_CODECS   100

Functions

int osip_rfc3264_init (struct osip_rfc3264 **config)
void osip_rfc3264_free (struct osip_rfc3264 *config)
int osip_rfc3264_endof_media (struct osip_rfc3264 *config, int pos)
sdp_media_tosip_rfc3264_get (struct osip_rfc3264 *config, int pos)
int osip_rfc3264_remove (struct osip_rfc3264 *config, int pos)
int osip_rfc3264_reset_media (struct osip_rfc3264 *config)
int osip_rfc3264_add_audio_media (struct osip_rfc3264 *config, sdp_media_t *med, int pos)
int osip_rfc3264_del_audio_media (struct osip_rfc3264 *config, int pos)
int osip_rfc3264_add_t38_media (struct osip_rfc3264 *config, sdp_media_t *med, int pos)
int osip_rfc3264_del_t38_media (struct osip_rfc3264 *config, int pos)
int osip_rfc3264_add_video_media (struct osip_rfc3264 *config, sdp_media_t *med, int pos)
int osip_rfc3264_del_video_media (struct osip_rfc3264 *config, int pos)
sdp_media_tosip_rfc3264_find_audio (struct osip_rfc3264 *config, char *payload, char *rtpmap)
sdp_media_tosip_rfc3264_find_video (struct osip_rfc3264 *config, char *payload, char *rtpmap)
sdp_media_tosip_rfc3264_find_t38 (struct osip_rfc3264 *config, char *payload)
sdp_media_tosip_rfc3264_find_app (struct osip_rfc3264 *config, char *payload)
int osip_rfc3264_match (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, sdp_media_t *audio_tab[], sdp_media_t *video_tab[], sdp_media_t *t38_tab[], sdp_media_t *app_tab[], int pos_media)
int osip_rfc3264_match_audio (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, sdp_media_t *remote_med, sdp_media_t *audio_tab[])
int osip_rfc3264_match_video (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, sdp_media_t *remote_med, sdp_media_t *video_tab[])
int osip_rfc3264_match_t38 (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, sdp_media_t *remote_med, sdp_media_t *t38_tab[])
int osip_rfc3264_match_app (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, sdp_media_t *remote_med, sdp_media_t *app_tab[])
int osip_rfc3264_prepare_answer (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, char *local_sdp, int length)
int osip_rfc3264_complete_answer (struct osip_rfc3264 *config, sdp_message_t *remote_sdp, sdp_message_t *local_sdp, sdp_media_t *med, int mline)
int osip_rfc3264_accept_codec (struct osip_rfc3264 *config, sdp_media_t *med, sdp_message_t *remote_sdp, sdp_message_t *local_sdp)
int __osip_rfc3264_print_codecs (struct osip_rfc3264 *config)

Define Documentation

#define MAX_APP_CODECS   100
 

Maximum number of supported application config.

#define MAX_AUDIO_CODECS   100
 

Maximum number of supported audio payload.

#define MAX_T38_CODECS   2
 

Maximum number of supported t38 config.

#define MAX_VIDEO_CODECS   100
 

Maximum number of supported video payload.


Function Documentation

int __osip_rfc3264_print_codecs struct osip_rfc3264 config  ) 
 

List supported codecs. (for debugging purpose only)

Parameters:
config The element to work on.

int osip_rfc3264_accept_codec struct osip_rfc3264 config,
sdp_media_t med,
sdp_message_t remote_sdp,
sdp_message_t local_sdp
 

Agree to support a specific codec. This method should be called for each codec returned by osip_rfc3264_match(...)

Parameters:
config The element to work on.
med One of the media returned by osip_rfc3264_match
remote_sdp The remote SDP packet.
local_sdp The local SDP packet to prepare.

int osip_rfc3264_add_audio_media struct osip_rfc3264 config,
sdp_media_t med,
int  pos
 

Add a media (for audio) in the configuration.

Parameters:
config The element to work on.
med The media element to add.
pos The index of the media element to add.

int osip_rfc3264_add_t38_media struct osip_rfc3264 config,
sdp_media_t med,
int  pos
 

Add a media (for t38) in the configuration.

Parameters:
config The element to work on.
med The media element to add.
pos The index of the media element to add.

int osip_rfc3264_add_video_media struct osip_rfc3264 config,
sdp_media_t med,
int  pos
 

Add a media (for video) in the configuration.

Parameters:
config The element to work on.
med The media element to add.
pos The index of the media element to add.

int osip_rfc3264_complete_answer struct osip_rfc3264 config,
sdp_message_t remote_sdp,
sdp_message_t local_sdp,
sdp_media_t med,
int  mline
 

Agree to support a specific codec. This method should be called for each codec returned by osip_rfc3264_match(...) that the calle agree to support.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
local_sdp The local SDP packet to complete.
med One of the media returned by osip_rfc3264_match.
mline The position of the media line to complete.

int osip_rfc3264_del_audio_media struct osip_rfc3264 config,
int  pos
 

Remove a media in the configuration.

Parameters:
config The element to work on.
pos The index of the media element to remove.

int osip_rfc3264_del_t38_media struct osip_rfc3264 config,
int  pos
 

Remove a media in the configuration.

Parameters:
config The element to work on.
pos The index of the media element to remove.

int osip_rfc3264_del_video_media struct osip_rfc3264 config,
int  pos
 

Remove a media in the configuration.

Parameters:
config The element to work on.
pos The index of the media element to remove.

int osip_rfc3264_endof_media struct osip_rfc3264 config,
int  pos
 

Test if a media exist in the configuration.

Parameters:
config The element to work on.
pos The index of the media element.

sdp_media_t* osip_rfc3264_find_app struct osip_rfc3264 config,
char *  payload
 

Search for support of a special codec.

Parameters:
config The element to work on.
payload The payload to find.

sdp_media_t* osip_rfc3264_find_audio struct osip_rfc3264 config,
char *  payload,
char *  rtpmap
 

Search for support of a special codec.

Parameters:
config The element to work on.
payload The payload to find.
rtpmap The rtpmap for the payload.

sdp_media_t* osip_rfc3264_find_t38 struct osip_rfc3264 config,
char *  payload
 

Search for support of a special codec.

Parameters:
config The element to work on.
payload The payload to find.

sdp_media_t* osip_rfc3264_find_video struct osip_rfc3264 config,
char *  payload,
char *  rtpmap
 

Search for support of a special codec.

Parameters:
config The element to work on.
payload The payload to find.
rtpmap The rtpmap for the payload.

void osip_rfc3264_free struct osip_rfc3264 config  ) 
 

Free negotiation facility.

Parameters:
config The element to work on.

sdp_media_t* osip_rfc3264_get struct osip_rfc3264 config,
int  pos
 

Get a media from the configuration.

Parameters:
config The element to work on.
pos The index of the media element to get.

int osip_rfc3264_init struct osip_rfc3264 **  config  ) 
 

Initialize negotiation facility..

Parameters:
config The element to work on.

int osip_rfc3264_match struct osip_rfc3264 config,
sdp_message_t remote_sdp,
sdp_media_t audio_tab[],
sdp_media_t video_tab[],
sdp_media_t t38_tab[],
sdp_media_t app_tab[],
int  pos_media
 

Compare remote sdp packet against local supported media. Only one media line is checked.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
audio_tab The local list of media supported by both side.
video_tab The local list of media supported by both side.
t38_tab The local list of media supported by both side.
app_tab The local list of media supported by both side.
pos_media The position of the media line to match.

int osip_rfc3264_match_app struct osip_rfc3264 config,
sdp_message_t remote_sdp,
sdp_media_t remote_med,
sdp_media_t app_tab[]
 

Compare remote sdp packet against local supported media for application.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
remote_med The remote Media SDP line.
app_tab The local list of media supported by both side.

int osip_rfc3264_match_audio struct osip_rfc3264 config,
sdp_message_t remote_sdp,
sdp_media_t remote_med,
sdp_media_t audio_tab[]
 

Compare remote sdp packet against local supported media for audio.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
remote_med The remote Media SDP line.
audio_tab The local list of media supported by both side.

int osip_rfc3264_match_t38 struct osip_rfc3264 config,
sdp_message_t remote_sdp,
sdp_media_t remote_med,
sdp_media_t t38_tab[]
 

Compare remote sdp packet against local supported media for t38.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
remote_med The remote Media SDP line.
t38_tab The local list of media supported by both side.

int osip_rfc3264_match_video struct osip_rfc3264 config,
sdp_message_t remote_sdp,
sdp_media_t remote_med,
sdp_media_t video_tab[]
 

Compare remote sdp packet against local supported media for video.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
remote_med The remote Media SDP line.
video_tab The local list of media supported by both side.

int osip_rfc3264_prepare_answer struct osip_rfc3264 config,
sdp_message_t remote_sdp,
char *  local_sdp,
int  length
 

Prepare an uncomplete answer.

Parameters:
config The element to work on.
remote_sdp The remote SDP packet.
local_sdp The local SDP packet to prepare.
length The local SDP packet's length.

int osip_rfc3264_remove struct osip_rfc3264 config,
int  pos
 

Remove a media from the configuration.

Parameters:
config The element to work on.
pos The index of the media element to remove.

int osip_rfc3264_reset_media struct osip_rfc3264 config  ) 
 

Remove all medias from the configuration.

Parameters:
config The element to work on.


Generated on Tue Feb 22 00:59:48 2005 for libosip by  doxygen 1.4.1