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

sip_transport.h File Reference


Detailed Description

#include <pjsip/sip_msg.h>
#include <pjsip/sip_parser.h>
#include <pjsip/sip_resolve.h>
#include <pj/sock.h>
#include <pj/list.h>
#include <pj/ioqueue.h>
#include <pj/timer.h>

Data Structures

struct  pjsip_tpselector
struct  pjsip_rx_data_op_key
struct  pjsip_rx_data
struct  pjsip_tx_data_op_key
struct  pjsip_tx_data
struct  pjsip_transport_key
struct  pjsip_transport
struct  pjsip_tpfactory

Defines

#define PJSIP_TRANSPORT_IS_RELIABLE(tp)   ((tp)->flag & PJSIP_TRANSPORT_RELIABLE)
#define PJSIP_TRANSPORT_IS_SECURE(tp)   ((tp)->flag & PJSIP_TRANSPORT_SECURE)

Typedefs

typedef struct pjsip_tpfactory pjsip_tpfactory
typedef void(* pjsip_transport_callback )(pjsip_transport *tp, void *token, pj_ssize_t sent_bytes)
typedef void(* pjsip_rx_callback )(pjsip_endpoint *ep, pj_status_t status, pjsip_rx_data *rd)
typedef pj_status_t(* pjsip_tx_callback )(pjsip_endpoint *ep, pjsip_tx_data *td)
typedef void(* pjsip_tp_send_callback )(void *token, pjsip_tx_data *tdata, pj_ssize_t bytes_sent)

Enumerations

enum  pjsip_transport_flags_e { PJSIP_TRANSPORT_RELIABLE = 1, PJSIP_TRANSPORT_SECURE = 2, PJSIP_TRANSPORT_DATAGRAM = 4 }
enum  pjsip_tpselector_type { PJSIP_TPSELECTOR_NONE, PJSIP_TPSELECTOR_TRANSPORT, PJSIP_TPSELECTOR_LISTENER }

Functions

pj_status_t pjsip_transport_register_type (unsigned tp_flag, const char *tp_name, int def_port, int *p_tp_type)
pjsip_transport_type_e pjsip_transport_get_type_from_name (const pj_str_t *name)
pjsip_transport_type_e pjsip_transport_get_type_from_flag (unsigned flag)
int pjsip_transport_type_get_af (pjsip_transport_type_e type)
unsigned pjsip_transport_get_flag_from_type (pjsip_transport_type_e type)
int pjsip_transport_get_default_port_for_type (pjsip_transport_type_e type)
const char * pjsip_transport_get_type_name (pjsip_transport_type_e t)
const char * pjsip_transport_get_type_desc (pjsip_transport_type_e t)
void pjsip_tpselector_add_ref (pjsip_tpselector *sel)
void pjsip_tpselector_dec_ref (pjsip_tpselector *sel)
char * pjsip_rx_data_get_info (pjsip_rx_data *rdata)
pj_status_t pjsip_tx_data_create (pjsip_tpmgr *mgr, pjsip_tx_data **tdata)
void pjsip_tx_data_add_ref (pjsip_tx_data *tdata)
pj_status_t pjsip_tx_data_dec_ref (pjsip_tx_data *tdata)
pj_status_t pjsip_tx_data_encode (pjsip_tx_data *tdata)
pj_bool_t pjsip_tx_data_is_valid (pjsip_tx_data *tdata)
void pjsip_tx_data_invalidate_msg (pjsip_tx_data *tdata)
char * pjsip_tx_data_get_info (pjsip_tx_data *tdata)
pj_status_t pjsip_tx_data_set_transport (pjsip_tx_data *tdata, const pjsip_tpselector *sel)
pj_status_t pjsip_transport_register (pjsip_tpmgr *mgr, pjsip_transport *tp)
pj_status_t pjsip_transport_shutdown (pjsip_transport *tp)
pj_status_t pjsip_transport_destroy (pjsip_transport *tp)
pj_status_t pjsip_transport_add_ref (pjsip_transport *tp)
pj_status_t pjsip_transport_dec_ref (pjsip_transport *tp)
pj_ssize_t pjsip_tpmgr_receive_packet (pjsip_tpmgr *mgr, pjsip_rx_data *rdata)
pj_status_t pjsip_tpmgr_register_tpfactory (pjsip_tpmgr *mgr, pjsip_tpfactory *tpf)
pj_status_t pjsip_tpmgr_unregister_tpfactory (pjsip_tpmgr *mgr, pjsip_tpfactory *tpf)
pj_status_t pjsip_tpmgr_create (pj_pool_t *pool, pjsip_endpoint *endpt, pjsip_rx_callback rx_cb, pjsip_tx_callback tx_cb, pjsip_tpmgr **p_mgr)
pj_status_t pjsip_tpmgr_find_local_addr (pjsip_tpmgr *tpmgr, pj_pool_t *pool, pjsip_transport_type_e type, const pjsip_tpselector *sel, pj_str_t *ip_addr, int *port)
unsigned pjsip_tpmgr_get_transport_count (pjsip_tpmgr *mgr)
pj_status_t pjsip_tpmgr_destroy (pjsip_tpmgr *mgr)
void pjsip_tpmgr_dump_transports (pjsip_tpmgr *mgr)
pj_status_t pjsip_tpmgr_acquire_transport (pjsip_tpmgr *mgr, pjsip_transport_type_e type, const pj_sockaddr_t *remote, int addr_len, const pjsip_tpselector *sel, pjsip_transport **tp)
pj_status_t pjsip_transport_send (pjsip_transport *tr, pjsip_tx_data *tdata, const pj_sockaddr_t *addr, int addr_len, void *token, pjsip_tp_send_callback cb)
pj_status_t pjsip_tpmgr_send_raw (pjsip_tpmgr *mgr, pjsip_transport_type_e tp_type, const pjsip_tpselector *sel, pjsip_tx_data *tdata, const void *raw_data, pj_size_t data_len, const pj_sockaddr_t *addr, int addr_len, void *token, pjsip_tp_send_callback cb)

 


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