Binary compatibility report for the PJSIP library  between 2.0.1 and 2.1 versions on x86

Test Info


Library NamePJSIP
Version #12.0.1
Version #22.1
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files232
Total Shared Libraries19
Total Symbols / Types1800 / 2028
VerdictIncompatible
(7.9%)

Problem Summary


SeverityCount
Added Symbols-44
Removed SymbolsHigh3
Problems with
Data Types
High2
Medium61
Low47
Problems with
Symbols
High4
Medium4
Low1
Problems with
Constants
Low1
Other Changes
in Data Types
-2
Other Changes
in Constants
-11

Added Symbols (44)


addr_resolv.h, libpj-i686-pc-linux-gnu.so
pj_getipinterface int af, pj_str_t const* dst, pj_sockaddr* itf_addr, pj_bool_t allow_resolve, pj_sockaddr* p_dst_addr )

codec.h, libpjmedia-i686-pc-linux-gnu.so
pjmedia_codec_param_clone pj_pool_t* pool, pjmedia_codec_param const* src )

guid.h, libpj-i686-pc-linux-gnu.so
pj_create_unique_string_lower pj_pool_t* pool, pj_str_t* str )
pj_generate_unique_string_lower pj_str_t* str )

hash.h, libpj-i686-pc-linux-gnu.so
pj_hash_get_lower ( pj_hash_table_t* ht, void const* key, unsigned int keylen, pj_uint32_t* hval )
pj_hash_set_lower pj_pool_t* pool, pj_hash_table_t* ht, void const* key, unsigned int keylen, pj_uint32_t hval, void* value )
pj_hash_set_np_lower ( pj_hash_table_t* ht, void const* key, unsigned int keylen, pj_uint32_t hval, void** entry_buf, void* value )

ioqueue.h, libpj-i686-pc-linux-gnu.so
pj_ioqueue_register_sock2 pj_pool_t* pool, pj_ioqueue_t* ioque, pj_sock_t sock, pj_grp_lock_t* grp_lock, void* user_data, pj_ioqueue_callback const* cb, pj_ioqueue_key_t** key )

lock.h, libpj-i686-pc-linux-gnu.so
pj_grp_lock_acquire pj_grp_lock_t* grp_lock )
pj_grp_lock_add_handler ( pj_grp_lock_t* grp_lock, pj_pool_t* pool, void* member, void(*handler)(void*) )
pj_grp_lock_add_ref pj_grp_lock_t* grp_lock )
pj_grp_lock_chain_lock ( pj_grp_lock_t* grp_lock, pj_lock_t* ext_lock, int pos )
pj_grp_lock_config_default pj_grp_lock_config* cfg )
pj_grp_lock_create pj_pool_t* pool, pj_grp_lock_config const* cfg, pj_grp_lock_t** p_grp_lock )
pj_grp_lock_dec_ref pj_grp_lock_t* grp_lock )
pj_grp_lock_del_handler ( pj_grp_lock_t* grp_lock, void* member, void(*handler)(void*) )
pj_grp_lock_destroy pj_grp_lock_t* grp_lock )
pj_grp_lock_dump pj_grp_lock_t* grp_lock )
pj_grp_lock_get_ref pj_grp_lock_t* grp_lock )
pj_grp_lock_release pj_grp_lock_t* grp_lock )
pj_grp_lock_replace ( pj_grp_lock_t* old_lock, pj_grp_lock_t* new_lock )
pj_grp_lock_tryacquire pj_grp_lock_t* grp_lock )
pj_grp_lock_unchain_lock ( pj_grp_lock_t* grp_lock, pj_lock_t* ext_lock )

pjsua.h, libpjsua-i686-pc-linux-gnu.so
pjsua_ice_config_dup pj_pool_t* pool, pjsua_ice_config* dst, pjsua_ice_config const* src )
pjsua_ice_config_from_media_config pj_pool_t* pool, pjsua_ice_config* dst, pjsua_media_config const* src )
pjsua_turn_config_dup pj_pool_t* pool, pjsua_turn_config* dst, pjsua_turn_config const* src )
pjsua_turn_config_from_media_config pj_pool_t* pool, pjsua_turn_config* dst, pjsua_media_config const* src )

pjsua_internal.h, libpjsua-i686-pc-linux-gnu.so
pjsua_acc_get_uac_addr ( pjsua_acc_id acc_id, pj_pool_t* pool, pj_str_t const* dst_uri, pjsip_host_port* addr, pjsip_transport_type_e* p_tp_type, int* p_secure, void const** p_tp )
pjsua_call_schedule_reinvite_check ( pjsua_call* call, unsigned int delay_ms )
pjsua_sip_acc_is_using_stun pjsua_acc_id acc_id )

sdp.h, libpjmedia-i686-pc-linux-gnu.so
pjmedia_sdp_validate2 ( pjmedia_sdp_session const* sdp, pj_bool_t strict )

sip_auth.h, libpjsip-i686-pc-linux-gnu.so
pjsip_auth_srv_init2 pj_pool_t* pool, pjsip_auth_srv* auth_srv, pjsip_auth_srv_init_param const* param )

sip_endpoint.h, libpjsip-i686-pc-linux-gnu.so
pjsip_endpt_process_rx_data ( pjsip_endpoint* endpt, pjsip_rx_data* rdata, pjsip_process_rdata_param* p, pj_bool_t* p_handled )
pjsip_process_rdata_param_default pjsip_process_rdata_param* p )

sip_transport.h, libpjsip-i686-pc-linux-gnu.so
pjsip_rx_data_clone ( pjsip_rx_data const* src, unsigned int flags, pjsip_rx_data** p_rdata )
pjsip_rx_data_free_cloned pjsip_rx_data* rdata )
pjsip_tpmgr_find_local_addr2 ( pjsip_tpmgr* tpmgr, pj_pool_t* pool, pjsip_tpmgr_fla2_param* prm )
pjsip_tpmgr_fla2_param_default pjsip_tpmgr_fla2_param* prm )

sip_transport_tls.h, libpjsip-i686-pc-linux-gnu.so
pjsip_tls_transport_start2 ( pjsip_endpoint* endpt, pjsip_tls_setting const* opt, pj_sockaddr const* local, pjsip_host_port const* a_name, unsigned int async_cnt, pjsip_tpfactory** p_factory )

sock.h, libpj-i686-pc-linux-gnu.so
pj_sock_bind_random ( pj_sock_t sockfd, pj_sockaddr_t const* addr, pj_uint16_t port_range, pj_uint16_t max_try )

stun_simple.h, libpjlib-util-i686-pc-linux-gnu.so
pjstun_get_mapped_addr2 ( pj_pool_factory* pf, pjstun_setting const* opt, int sock_cnt, pj_sock_t* sock, pj_sockaddr_in* mapped_addr )

stun_transaction.h, libpjnath-i686-pc-linux-gnu.so
pj_stun_client_tsx_stop pj_stun_client_tsx* tsx )

timer.h, libpj-i686-pc-linux-gnu.so
pj_timer_heap_cancel_if_active ( pj_timer_heap_t* ht, pj_timer_entry* entry, int id_val )
pj_timer_heap_schedule_w_grp_lock ( pj_timer_heap_t* ht, pj_timer_entry* entry, pj_time_val const* delay, int id_val, pj_grp_lock_t* grp_lock )

to the top

Removed Symbols (3)


stun_session.h, libpjnath-i686-pc-linux-gnu.so
pj_stun_session_set_lock ( pj_stun_session* sess, pj_lock_t* lock, pj_bool_t auto_del )

stun_transaction.h, libpjnath-i686-pc-linux-gnu.so
pj_stun_client_tsx_destroy pj_stun_client_tsx* tsx )

vid_stream.h, libpjmedia-i686-pc-linux-gnu.so
pjmedia_vid_stream_info_from_sdp ( pjmedia_vid_stream_info* si, pj_pool_t* pool, pjmedia_endpt* endpt, pjmedia_sdp_session const* local, pjmedia_sdp_session const* remote, unsigned int stream_idx )

to the top

Problems with Data Types, High Severity (2)


pjsua_internal.h
[+] struct pjsua_call::anon-struct-pjsua_internal.h-157 (2)

to the top

Problems with Symbols, High Severity (4)


ice_session.h, libpjnath-i686-pc-linux-gnu.so
[+] pj_ice_sess_create ( pj_stun_config* stun_cfg, char const* name, pj_ice_sess_role role, unsigned int comp_cnt, pj_ice_sess_cb const* cb, pj_str_t const* local_ufrag, pj_str_t const* local_passwd, pj_ice_sess** p_ice ) (1)

stun_session.h, libpjnath-i686-pc-linux-gnu.so
[+] pj_stun_session_create ( pj_stun_config* cfg, char const* name, pj_stun_session_cb const* cb, pj_bool_t fingerprint, pj_stun_session** p_sess ) (1)

stun_transaction.h, libpjnath-i686-pc-linux-gnu.so
[+] pj_stun_client_tsx_create ( pj_stun_config* cfg, pj_pool_t* pool, pj_stun_tsx_cb const* cb, pj_stun_client_tsx** p_tsx ) (1)

turn_session.h, libpjnath-i686-pc-linux-gnu.so
[+] pj_turn_session_create ( pj_stun_config const* cfg, char const* name, int af, pj_turn_tp_type conn_type, pj_turn_session_cb const* cb, unsigned int options, void* user_data, pj_turn_session** p_sess ) (1)

to the top

Problems with Data Types, Medium Severity (61)


activesock.h
[+] struct pj_activesock_cfg (1)

codec.h
[+] struct pjmedia_codec_param (1)
[+] struct pjmedia_codec_param::anon-struct-codec.h-274 (1)

ice_session.h
[+] struct pj_ice_sess (5)
[+] struct pj_ice_sess_checklist (1)

ice_strans.h
[+] struct pj_ice_strans_cfg (3)
[+] struct pj_ice_strans_cfg::anon-struct-ice_strans.h-216 (1)
[+] struct pj_ice_strans_cfg::anon-struct-ice_strans.h-285 (1)

pjsua.h
[+] struct pjsua_acc_config (9)
[+] struct pjsua_config (1)
[+] struct pjsua_media_config (1)
[+] struct pjsua_transport_config (1)

pjsua_internal.h
[+] struct pjsua_acc (3)
[+] struct pjsua_acc::anon-struct-pjsua_internal.h-230 (1)
[+] struct pjsua_buddy (1)
[+] struct pjsua_call (1)
[+] struct pjsua_call::anon-struct-pjsua_internal.h-157 (1)
[+] struct pjsua_data (11)
[+] struct pjsua_stun_resolve (3)
[+] struct pjsua_timer_list (1)

sip_config.h
[+] struct pjsip_cfg_t (1)
[+] struct pjsip_cfg_t::anon-struct-sip_config.h-72 (2)

sip_transaction.h
[+] struct pjsip_transaction (2)

sip_transport.h
[+] struct pjsip_transport (1)

sip_util.h
[+] enum pjsip_redirect_op (1)

sound_port.h
[+] struct pjmedia_snd_port_param (1)

stun_session.h
[+] struct pj_stun_tx_data (1)

stun_sock.h
[+] struct pj_stun_sock_cfg (2)

turn_sock.h
[+] struct pj_turn_sock_cfg (2)

to the top

Problems with Symbols, Medium Severity (4)


pjsua_internal.h, libpjsua-i686-pc-linux-gnu.so
[+] pjsua_var [data] (1)

sip_config.h, libpjsip-i686-pc-linux-gnu.so
[+] pjsip_sip_cfg_var [data] (1)

stun_session.h, libpjnath-i686-pc-linux-gnu.so
[+] pj_stun_session_retransmit_req ( pj_stun_session* sess, pj_stun_tx_data* tdata ) (1)

stun_transaction.h, libpjnath-i686-pc-linux-gnu.so
[+] pj_stun_client_tsx_retransmit pj_stun_client_tsx* tsx ) (1)

to the top

Problems with Data Types, Low Severity (47)


activesock.h
[+] struct pj_activesock_cfg (1)

audiodev.h
[+] struct pjmedia_aud_param (2)

codec.h
[+] struct pjmedia_codec_param (1)
[+] struct pjmedia_codec_param::anon-struct-codec.h-274 (1)

ice_session.h
[+] struct pj_ice_sess (2)
[+] struct pj_ice_sess_checklist (1)

ice_strans.h
[+] struct pj_ice_strans_cfg (1)
[+] struct pj_ice_strans_cfg::anon-struct-ice_strans.h-216 (1)
[+] struct pj_ice_strans_cfg::anon-struct-ice_strans.h-285 (1)

pjsua.h
[+] struct pjsua_acc_config (1)
[+] struct pjsua_config (1)
[+] struct pjsua_media_config (2)
[+] struct pjsua_transport_config (1)

pjsua_internal.h
[+] struct pjsua_acc (1)
[+] struct pjsua_acc::anon-struct-pjsua_internal.h-230 (1)
[+] struct pjsua_buddy (1)
[+] struct pjsua_call (4)
[+] struct pjsua_call::anon-struct-pjsua_internal.h-157 (1)
[+] struct pjsua_call::anon-struct-pjsua_internal.h-165::anon-union-pjsua_internal.h-170::anon-struct-pjsua_internal.h-171 (2)
[+] struct pjsua_data (1)
[+] struct pjsua_stun_resolve (1)
[+] struct pjsua_timer_list (1)
[+] union pjsua_call::anon-struct-pjsua_internal.h-165::anon-union-pjsua_internal.h-170 (1)

sip_auth.h
[+] struct pjsip_auth_srv (2)

sip_config.h
[+] struct pjsip_cfg_t (1)
[+] struct pjsip_cfg_t::anon-struct-sip_config.h-72 (1)

sip_transaction.h
[+] struct pjsip_transaction (1)

sip_transport.h
[+] struct pjsip_transport (1)

sip_util.h
[+] enum pjsip_redirect_op (1)

sound_port.h
[+] struct pjmedia_snd_port_param (1)

stun_config.h
[+] struct pj_stun_config (2)

stun_session.h
[+] struct pj_stun_tx_data (1)

stun_sock.h
[+] struct pj_stun_sock_cfg (1)

timer.h
[+] struct pj_timer_entry (2)

turn_sock.h
[+] struct pj_turn_sock_cfg (3)

to the top

Problems with Symbols, Low Severity (1)


pool.h, libpj-i686-pc-linux-gnu.so
[+] pj_pool_allocate_find pj_pool_t* pool, unsigned int size ) (1)

to the top

Problems with Constants, Low Severity (1)


sip_config.h
[+] PJSIP_CHECK_VIA_SENT_BY

to the top

Other Changes in Data Types (2)


sip_types.h
[+] enum pjsip_transport_type_e (1)

sip_util.h
[+] enum pjsip_redirect_op (1)

to the top

Other Changes in Constants (11)


config.h
[+] PJ_GRP_LOCK_DEBUG
[+] PJMEDIA_ADD_BANDWIDTH_TIAS_IN_SDP
[+] PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY
[+] PJMEDIA_CODEC_SILK_DEFAULT_QUALITY
[+] PJMEDIA_HAS_OPENCORE_AMRWB_CODEC
[+] PJMEDIA_HAS_SILK_CODEC
[+] PJMEDIA_MAX_MRU

pjsua.h
[+] PJSUA_SDP_SESS_HAS_CONN
[+] PJSUA_THIRD_PARTY_STREAM_HAS_GET_INFO
[+] PJSUA_THIRD_PARTY_STREAM_HAS_GET_STAT

sip_config.h
[+] PJSIP_ACCEPT_REPLACE_IN_EARLY_STATE

to the top

Header Files (232)


activesock.h
addr_resolv.h
alaw_ulaw.h
amr_helper.h
amr_sdp_match.h
array.h
assert.h
audio_codecs.h
audiodev.h
audiodev_imp.h
audiotest.h
avi.h
avi_dev.h
avi_stream.h
base64.h
bidirectional.h
circbuf.h
clock.h
codec.h
conference.h
config_site.h
config_site_sample.h
converter.h
crc32.h
ctype.h
delaybuf.h
dns.h
dns_server.h
echo.h
echo_port.h
endpoint.h
event.h
evsub.h
evsub_msg.h
except.h
ffmpeg_vid_codecs.h
fifobuf.h
file.hpp
file_access.h
file_io.h
format.h
frame.h
g711.h
g722.h
g7221.h
g7221_sdp_match.h
getopt.h
gsm.h
guid.h
h263_packetizer.h
h264_packetizer.h
hash.h
hash.hpp
hmac_md5.h
hmac_sha1.h
http_client.h
ice_session.h
ice_strans.h
ilbc.h
ioqueue.h
ip_helper.h
ipp_codecs.h
iscomposing.h
jbuf.h
l16.h
list.h
list.hpp
list_i.h
lock.h
lock.hpp
log.h
master_port.h
math.h
md5.h
mem_port.h
mwi.h
nat_detect.h
null_port.h
opencore_amrnb.h
os.h
os.hpp
passthrough.h
pcap.h
pidf.h
config.h (pj/config.h)
doxygen.h (pj/doxygen.h)
errno.h (pj/errno.h)
string.h (pj/string.h)
types.h (pj/types.h)
pjlib++.hpp
pjlib-util.h
config.h (pjlib-util/config.h)
errno.h (pjlib-util/errno.h)
string.h (pjlib-util/string.h)
types.h (pjlib-util/types.h)
pjlib.h
config.h (pjmedia-audiodev/config.h)
errno.h (pjmedia-audiodev/errno.h)
pjmedia-codec.h
config.h (pjmedia-codec/config.h)
config_auto.h (pjmedia-codec/config_auto.h)
types.h (pjmedia-codec/types.h)
config.h (pjmedia-videodev/config.h)
errno.h (pjmedia-videodev/errno.h)
pjmedia.h
config.h (pjmedia/config.h)
config_auto.h (pjmedia/config_auto.h)
doxygen.h (pjmedia/doxygen.h)
errno.h (pjmedia/errno.h)
types.h (pjmedia/types.h)
pjmedia_audiodev.h
pjmedia_videodev.h
pjnath.h
config.h (pjnath/config.h)
errno.h (pjnath/errno.h)
types.h (pjnath/types.h)
errno.h (pjsip-simple/errno.h)
types.h (pjsip-simple/types.h)
pjsip.h
pjsip_simple.h
pjsip_ua.h
pjsua.h (pjsua-lib/pjsua.h)
pjsua.h
pjsua_internal.h
plc.h
pool.h
pool.hpp
port.h
presence.h
print_util.h
proactor.hpp
publish.h
rand.h
rbtree.h
resample.h
resolver.h
rpid.h
rtcp.h
rtcp_xr.h
rtp.h
scanner.h
scanner.hpp
scanner_cis_bitwise.h
scanner_cis_uint.h
sdp.h
sdp_neg.h
session.h
sha1.h
signatures.h
silencedet.h
sip_100rel.h
sip_auth.h
sip_auth_aka.h
sip_auth_msg.h
sip_auth_parser.h
sip_autoconf.h
sip_config.h
sip_dialog.h
sip_endpoint.h
sip_errno.h
sip_event.h
sip_inv.h
sip_module.h
sip_msg.h
sip_multipart.h
sip_parser.h
sip_private.h
sip_regc.h
sip_replaces.h
sip_resolve.h
sip_tel_uri.h
sip_timer.h
sip_transaction.h
sip_transport.h
sip_transport_loop.h
sip_transport_tcp.h
sip_transport_tls.h
sip_transport_udp.h
sip_types.h
sip_ua_layer.h
sip_uri.h
sip_util.h
sip_xfer.h
sock.h
sock.hpp
sock_qos.h
sock_select.h
sound.h
sound_port.h
speex.h
splitcomb.h
srv_resolver.h
ssl_sock.h
stereo.h
stream.h
stream_common.h
string.hpp
string_i.h
stun_auth.h
stun_config.h
stun_msg.h
stun_session.h
stun_simple.h
stun_sock.h
stun_transaction.h
timer.h
timer.hpp
tonegen.h
transport.h
transport_adapter_sample.h
transport_ice.h
transport_loop.h
transport_srtp.h
transport_udp.h
tree.hpp
turn_session.h
turn_sock.h
types.hpp
unicode.h
vid_codec.h
vid_codec_util.h
vid_port.h
vid_stream.h
vid_tee.h
videodev.h
videodev_imp.h
wav_playlist.h
wav_port.h
wave.h
wsola.h
xml.h
xpidf.h

to the top

Shared Libraries (19)


libg7221codec-i686-pc-linux-gnu.so
libgsmcodec-i686-pc-linux-gnu.so
libilbccodec-i686-pc-linux-gnu.so
libmilenage-i686-pc-linux-gnu.so
libpj-i686-pc-linux-gnu.so
libpjlib-util-i686-pc-linux-gnu.so
libpjmedia-audiodev-i686-pc-linux-gnu.so
libpjmedia-codec-i686-pc-linux-gnu.so
libpjmedia-i686-pc-linux-gnu.so
libpjmedia-videodev-i686-pc-linux-gnu.so
libpjnath-i686-pc-linux-gnu.so
libpjsip-i686-pc-linux-gnu.so
libpjsip-simple-i686-pc-linux-gnu.so
libpjsip-ua-i686-pc-linux-gnu.so
libpjsua-i686-pc-linux-gnu.so
libportaudio-i686-pc-linux-gnu.so
libresample-i686-pc-linux-gnu.so
libspeex-i686-pc-linux-gnu.so
libsrtp-i686-pc-linux-gnu.so

to the top




Generated on Mon Jan 26 13:17:28 2015 for PJSIP by ABI Compliance Checker 1.99.9  
A tool for checking backward compatibility of a C/C++ library API