pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJSIP Reference

pjsua.h File Reference


Detailed Description

#include <pjsip.h>
#include <pjmedia.h>
#include <pjmedia-codec.h>
#include <pjsip_ua.h>
#include <pjsip_simple.h>
#include <pjnath.h>
#include <pjlib-util.h>
#include <pjlib.h>

Data Structures

struct  pjsua_logging_config
struct  pjsua_mwi_info
struct  pjsua_callback
struct  pjsua_config
struct  pjsua_msg_data
struct  pj_stun_resolve_result
struct  pjsua_transport_config
struct  pjsua_transport_info
struct  pjsua_acc_config
struct  pjsua_acc_info
struct  pjsua_call_info
struct  pjsua_buddy_config
struct  pjsua_buddy_info
struct  pjsua_media_config
struct  pjsua_codec_info
struct  pjsua_conf_port_info
struct  pjsua_media_transport

Defines

#define PJSUA_INVALID_ID   (-1)
#define PJSUA_ACC_MAX_PROXIES   8
#define PJSUA_DEFAULT_USE_SRTP   PJMEDIA_SRTP_DISABLED
#define PJSUA_DEFAULT_SRTP_SECURE_SIGNALING   1
#define pjsip_cred_dup   pjsip_cred_info_dup
#define PJSUA_MAX_ACC   8
#define PJSUA_REG_INTERVAL   300
#define PJSUA_UNREG_TIMEOUT   4000
#define PJSUA_PUBLISH_EXPIRATION   PJSIP_PUBC_EXPIRATION_NOT_SPECIFIED
#define PJSUA_DEFAULT_ACC_PRIORITY   0
#define PJSUA_SECURE_SCHEME   "sip"
#define PJSUA_UNPUBLISH_MAX_WAIT_TIME_MSEC   2000
#define PJSUA_MAX_CALLS   32
#define PJSUA_XFER_NO_REQUIRE_REPLACES   1
#define PJSUA_MAX_BUDDIES   256
#define PJSUA_PRES_TIMER   300
#define PJSUA_MAX_CONF_PORTS   254
#define PJSUA_DEFAULT_CLOCK_RATE   16000
#define PJSUA_DEFAULT_AUDIO_FRAME_PTIME   20
#define PJSUA_DEFAULT_CODEC_QUALITY   8
#define PJSUA_DEFAULT_ILBC_MODE   30
#define PJSUA_DEFAULT_EC_TAIL_LEN   200
#define PJSUA_MAX_PLAYERS   32
#define PJSUA_MAX_RECORDERS   32

Typedefs

typedef int pjsua_call_id
typedef int pjsua_acc_id
typedef int pjsua_buddy_id
typedef int pjsua_player_id
typedef int pjsua_recorder_id
typedef int pjsua_conf_port_id
typedef struct pjsua_srv_pres pjsua_srv_pres
typedef struct pjsua_msg_data pjsua_msg_data
typedef struct pjsua_media_config pjsua_media_config
typedef void(* pj_stun_resolve_cb )(const pj_stun_resolve_result *result)
typedef int pjsua_transport_id

Enumerations

enum  pjsua_call_media_status {
  PJSUA_CALL_MEDIA_NONE, PJSUA_CALL_MEDIA_ACTIVE, PJSUA_CALL_MEDIA_LOCAL_HOLD, PJSUA_CALL_MEDIA_REMOTE_HOLD,
  PJSUA_CALL_MEDIA_ERROR
}
enum  pjsua_buddy_status { PJSUA_BUDDY_STATUS_UNKNOWN, PJSUA_BUDDY_STATUS_ONLINE, PJSUA_BUDDY_STATUS_OFFLINE }

Functions

void pjsua_logging_config_default (pjsua_logging_config *cfg)
void pjsua_logging_config_dup (pj_pool_t *pool, pjsua_logging_config *dst, const pjsua_logging_config *src)
void pjsua_config_default (pjsua_config *cfg)
void pjsua_config_dup (pj_pool_t *pool, pjsua_config *dst, const pjsua_config *src)
void pjsua_msg_data_init (pjsua_msg_data *msg_data)
pj_status_t pjsua_create (void)
pj_status_t pjsua_init (const pjsua_config *ua_cfg, const pjsua_logging_config *log_cfg, const pjsua_media_config *media_cfg)
pj_status_t pjsua_start (void)
pj_status_t pjsua_destroy (void)
int pjsua_handle_events (unsigned msec_timeout)
pj_pool_tpjsua_pool_create (const char *name, pj_size_t init_size, pj_size_t increment)
pj_status_t pjsua_reconfigure_logging (const pjsua_logging_config *c)
pjsip_endpointpjsua_get_pjsip_endpt (void)
pjmedia_endptpjsua_get_pjmedia_endpt (void)
pj_pool_factorypjsua_get_pool_factory (void)
pj_status_t pjsua_detect_nat_type (void)
pj_status_t pjsua_get_nat_type (pj_stun_nat_type *type)
pj_status_t pjsua_resolve_stun_servers (unsigned count, pj_str_t srv[], pj_bool_t wait, void *token, pj_stun_resolve_cb cb)
pj_status_t pjsua_cancel_stun_resolution (void *token, pj_bool_t notify_cb)
pj_status_t pjsua_verify_sip_url (const char *url)
pj_status_t pjsua_schedule_timer (pj_timer_entry *entry, const pj_time_val *delay)
void pjsua_cancel_timer (pj_timer_entry *entry)
void pjsua_perror (const char *sender, const char *title, pj_status_t status)
void pjsua_dump (pj_bool_t detail)
void pjsua_transport_config_default (pjsua_transport_config *cfg)
void pjsua_transport_config_dup (pj_pool_t *pool, pjsua_transport_config *dst, const pjsua_transport_config *src)
pj_status_t pjsua_transport_create (pjsip_transport_type_e type, const pjsua_transport_config *cfg, pjsua_transport_id *p_id)
pj_status_t pjsua_transport_register (pjsip_transport *tp, pjsua_transport_id *p_id)
pj_status_t pjsua_enum_transports (pjsua_transport_id id[], unsigned *count)
pj_status_t pjsua_transport_get_info (pjsua_transport_id id, pjsua_transport_info *info)
pj_status_t pjsua_transport_set_enable (pjsua_transport_id id, pj_bool_t enabled)
pj_status_t pjsua_transport_close (pjsua_transport_id id, pj_bool_t force)
void pjsua_acc_config_default (pjsua_acc_config *cfg)
void pjsua_acc_config_dup (pj_pool_t *pool, pjsua_acc_config *dst, const pjsua_acc_config *src)
unsigned pjsua_acc_get_count (void)
pj_bool_t pjsua_acc_is_valid (pjsua_acc_id acc_id)
pj_status_t pjsua_acc_set_default (pjsua_acc_id acc_id)
pjsua_acc_id pjsua_acc_get_default (void)
pj_status_t pjsua_acc_add (const pjsua_acc_config *acc_cfg, pj_bool_t is_default, pjsua_acc_id *p_acc_id)
pj_status_t pjsua_acc_add_local (pjsua_transport_id tid, pj_bool_t is_default, pjsua_acc_id *p_acc_id)
pj_status_t pjsua_acc_set_user_data (pjsua_acc_id acc_id, void *user_data)
void * pjsua_acc_get_user_data (pjsua_acc_id acc_id)
pj_status_t pjsua_acc_del (pjsua_acc_id acc_id)
pj_status_t pjsua_acc_modify (pjsua_acc_id acc_id, const pjsua_acc_config *acc_cfg)
pj_status_t pjsua_acc_set_online_status (pjsua_acc_id acc_id, pj_bool_t is_online)
pj_status_t pjsua_acc_set_online_status2 (pjsua_acc_id acc_id, pj_bool_t is_online, const pjrpid_element *pr)
pj_status_t pjsua_acc_set_registration (pjsua_acc_id acc_id, pj_bool_t renew)
pj_status_t pjsua_acc_get_info (pjsua_acc_id acc_id, pjsua_acc_info *info)
pj_status_t pjsua_enum_accs (pjsua_acc_id ids[], unsigned *count)
pj_status_t pjsua_acc_enum_info (pjsua_acc_info info[], unsigned *count)
pjsua_acc_id pjsua_acc_find_for_outgoing (const pj_str_t *url)
pjsua_acc_id pjsua_acc_find_for_incoming (pjsip_rx_data *rdata)
pj_status_t pjsua_acc_create_request (pjsua_acc_id acc_id, const pjsip_method *method, const pj_str_t *target, pjsip_tx_data **p_tdata)
pj_status_t pjsua_acc_create_uac_contact (pj_pool_t *pool, pj_str_t *contact, pjsua_acc_id acc_id, const pj_str_t *uri)
pj_status_t pjsua_acc_create_uas_contact (pj_pool_t *pool, pj_str_t *contact, pjsua_acc_id acc_id, pjsip_rx_data *rdata)
pj_status_t pjsua_acc_set_transport (pjsua_acc_id acc_id, pjsua_transport_id tp_id)
unsigned pjsua_call_get_max_count (void)
unsigned pjsua_call_get_count (void)
pj_status_t pjsua_enum_calls (pjsua_call_id ids[], unsigned *count)
pj_status_t pjsua_call_make_call (pjsua_acc_id acc_id, const pj_str_t *dst_uri, unsigned options, void *user_data, const pjsua_msg_data *msg_data, pjsua_call_id *p_call_id)
pj_bool_t pjsua_call_is_active (pjsua_call_id call_id)
pj_bool_t pjsua_call_has_media (pjsua_call_id call_id)
pjmedia_sessionpjsua_call_get_media_session (pjsua_call_id call_id)
pjmedia_transportpjsua_call_get_media_transport (pjsua_call_id cid)
pjsua_conf_port_id pjsua_call_get_conf_port (pjsua_call_id call_id)
pj_status_t pjsua_call_get_info (pjsua_call_id call_id, pjsua_call_info *info)
pj_status_t pjsua_call_set_user_data (pjsua_call_id call_id, void *user_data)
void * pjsua_call_get_user_data (pjsua_call_id call_id)
pj_status_t pjsua_call_get_rem_nat_type (pjsua_call_id call_id, pj_stun_nat_type *p_type)
pj_status_t pjsua_call_answer (pjsua_call_id call_id, unsigned code, const pj_str_t *reason, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_hangup (pjsua_call_id call_id, unsigned code, const pj_str_t *reason, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_process_redirect (pjsua_call_id call_id, pjsip_redirect_op cmd)
pj_status_t pjsua_call_set_hold (pjsua_call_id call_id, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_reinvite (pjsua_call_id call_id, pj_bool_t unhold, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_update (pjsua_call_id call_id, unsigned options, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_xfer (pjsua_call_id call_id, const pj_str_t *dest, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_xfer_replaces (pjsua_call_id call_id, pjsua_call_id dest_call_id, unsigned options, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_dial_dtmf (pjsua_call_id call_id, const pj_str_t *digits)
pj_status_t pjsua_call_send_im (pjsua_call_id call_id, const pj_str_t *mime_type, const pj_str_t *content, const pjsua_msg_data *msg_data, void *user_data)
pj_status_t pjsua_call_send_typing_ind (pjsua_call_id call_id, pj_bool_t is_typing, const pjsua_msg_data *msg_data)
pj_status_t pjsua_call_send_request (pjsua_call_id call_id, const pj_str_t *method, const pjsua_msg_data *msg_data)
void pjsua_call_hangup_all (void)
pj_status_t pjsua_call_dump (pjsua_call_id call_id, pj_bool_t with_media, char *buffer, unsigned maxlen, const char *indent)
void pjsua_buddy_config_default (pjsua_buddy_config *cfg)
unsigned pjsua_get_buddy_count (void)
pj_bool_t pjsua_buddy_is_valid (pjsua_buddy_id buddy_id)
pj_status_t pjsua_enum_buddies (pjsua_buddy_id ids[], unsigned *count)
pjsua_buddy_id pjsua_buddy_find (const pj_str_t *uri)
pj_status_t pjsua_buddy_get_info (pjsua_buddy_id buddy_id, pjsua_buddy_info *info)
pj_status_t pjsua_buddy_set_user_data (pjsua_buddy_id buddy_id, void *user_data)
void * pjsua_buddy_get_user_data (pjsua_buddy_id buddy_id)
pj_status_t pjsua_buddy_add (const pjsua_buddy_config *buddy_cfg, pjsua_buddy_id *p_buddy_id)
pj_status_t pjsua_buddy_del (pjsua_buddy_id buddy_id)
pj_status_t pjsua_buddy_subscribe_pres (pjsua_buddy_id buddy_id, pj_bool_t subscribe)
pj_status_t pjsua_buddy_update_pres (pjsua_buddy_id buddy_id)
pj_status_t pjsua_pres_notify (pjsua_acc_id acc_id, pjsua_srv_pres *srv_pres, pjsip_evsub_state state, const pj_str_t *state_str, const pj_str_t *reason, pj_bool_t with_body, const pjsua_msg_data *msg_data)
void pjsua_pres_dump (pj_bool_t verbose)
pj_status_t pjsua_im_send (pjsua_acc_id acc_id, const pj_str_t *to, const pj_str_t *mime_type, const pj_str_t *content, const pjsua_msg_data *msg_data, void *user_data)
pj_status_t pjsua_im_typing (pjsua_acc_id acc_id, const pj_str_t *to, pj_bool_t is_typing, const pjsua_msg_data *msg_data)
void pjsua_media_config_default (pjsua_media_config *cfg)
unsigned pjsua_conf_get_max_ports (void)
unsigned pjsua_conf_get_active_ports (void)
pj_status_t pjsua_enum_conf_ports (pjsua_conf_port_id id[], unsigned *count)
pj_status_t pjsua_conf_get_port_info (pjsua_conf_port_id port_id, pjsua_conf_port_info *info)
pj_status_t pjsua_conf_add_port (pj_pool_t *pool, pjmedia_port *port, pjsua_conf_port_id *p_id)
pj_status_t pjsua_conf_remove_port (pjsua_conf_port_id port_id)
pj_status_t pjsua_conf_connect (pjsua_conf_port_id source, pjsua_conf_port_id sink)
pj_status_t pjsua_conf_disconnect (pjsua_conf_port_id source, pjsua_conf_port_id sink)
pj_status_t pjsua_conf_adjust_tx_level (pjsua_conf_port_id slot, float level)
pj_status_t pjsua_conf_adjust_rx_level (pjsua_conf_port_id slot, float level)
pj_status_t pjsua_conf_get_signal_level (pjsua_conf_port_id slot, unsigned *tx_level, unsigned *rx_level)
pj_status_t pjsua_player_create (const pj_str_t *filename, unsigned options, pjsua_player_id *p_id)
pj_status_t pjsua_playlist_create (const pj_str_t file_names[], unsigned file_count, const pj_str_t *label, unsigned options, pjsua_player_id *p_id)
pjsua_conf_port_id pjsua_player_get_conf_port (pjsua_player_id id)
pj_status_t pjsua_player_get_port (pjsua_player_id id, pjmedia_port **p_port)
pj_status_t pjsua_player_set_pos (pjsua_player_id id, pj_uint32_t samples)
pj_status_t pjsua_player_destroy (pjsua_player_id id)
pj_status_t pjsua_recorder_create (const pj_str_t *filename, unsigned enc_type, void *enc_param, pj_ssize_t max_size, unsigned options, pjsua_recorder_id *p_id)
pjsua_conf_port_id pjsua_recorder_get_conf_port (pjsua_recorder_id id)
pj_status_t pjsua_recorder_get_port (pjsua_recorder_id id, pjmedia_port **p_port)
pj_status_t pjsua_recorder_destroy (pjsua_recorder_id id)
pj_status_t pjsua_enum_aud_devs (pjmedia_aud_dev_info info[], unsigned *count)
pj_status_t pjsua_enum_snd_devs (pjmedia_snd_dev_info info[], unsigned *count)
pj_status_t pjsua_get_snd_dev (int *capture_dev, int *playback_dev)
pj_status_t pjsua_set_snd_dev (int capture_dev, int playback_dev)
pj_status_t pjsua_set_null_snd_dev (void)
pjmedia_portpjsua_set_no_snd_dev (void)
pj_status_t pjsua_set_ec (unsigned tail_ms, unsigned options)
pj_status_t pjsua_get_ec_tail (unsigned *p_tail_ms)
pj_bool_t pjsua_snd_is_active (void)
pj_status_t pjsua_snd_set_setting (pjmedia_aud_dev_cap cap, const void *pval, pj_bool_t keep)
pj_status_t pjsua_snd_get_setting (pjmedia_aud_dev_cap cap, void *pval)
pj_status_t pjsua_enum_codecs (pjsua_codec_info id[], unsigned *count)
pj_status_t pjsua_codec_set_priority (const pj_str_t *codec_id, pj_uint8_t priority)
pj_status_t pjsua_codec_get_param (const pj_str_t *codec_id, pjmedia_codec_param *param)
pj_status_t pjsua_codec_set_param (const pj_str_t *codec_id, const pjmedia_codec_param *param)
pj_status_t pjsua_media_transports_create (const pjsua_transport_config *cfg)
pj_status_t pjsua_media_transports_attach (pjsua_media_transport tp[], unsigned count, pj_bool_t auto_delete)

Variables

const pjsip_method pjsip_message_method

 


PJSIP Open Source, high performance, small footprint, and very very portable SIP stack
Copyright (C) 2006-2008 Teluu Inc.