PJSUA开发文档中文版_第1页
PJSUA开发文档中文版_第2页
PJSUA开发文档中文版_第3页
PJSUA开发文档中文版_第4页
PJSUA开发文档中文版_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Pjsua 开发指南 PJSUA 开发指南版权保留 可以无限分发 禁止修改!关于 PJSIP:PJSIP 是一个小巧而性能优异的协议栈。请访问: HYPERLINK / 获得更多信息。关于本文档:这是一份自由文档。每一个人都有权限按原样(verbatim copies)复制与分发此文档,但不允许修改。PJSUA API高级软电话的 API为构建 SIP UA 应用而设计的具有高水平的 API。模块 HYPERLINK l _bookmark0 PJSUA-API 的基本 API基本应用程序的创建、初始化、日志配置等。 HYPERLINK l _bookmark1 PJSUA-API 的信令传输

2、管理 SIP 传输的 API。 HYPERLINK l _bookmark2 PJSUA-API 的账户管理PJSUA 帐户的管理。 HYPERLINK l _bookmark3 PJSUA-API 呼叫管理呼叫操作。 HYPERLINK l _bookmark4 PJSUA-API 的好友、用户状态和即时消息好友管理,好友的状态和即时消息。 HYPERLINK l _bookmark5 PJSUA-API 的媒体操作媒体操作。详细说明一个为 C / C + +编程提供的 SIP 用户代理 APIPJSUA-API 是构建 SIP 多媒体用户代理应用而提供的非常高水平的 API。它把信令和媒体

3、功能包装在一起放入一个易于使用的调用的 API 中,提供帐户管理,好友管理,状态,即时消息以及多媒体功能例如会议、文件流、本地回放、录音等。C/ C + +绑定应用程序必须与 PJSUA-lib 链接来使用这些 API。此外,该库依赖于以下库:pjsip-ua, pjsip-simple, pjsip-core, pjmedia,pjmedia-codec, pjlib-util,pjlib,应用程序还必须链接这些库。有关详细信息,请参阅入门 HYPERLINK /using.htm Getting Started with PJSIP。pjsua_samples提供了一些例程: 例程:Sim

4、ple PJSUA很简单的 SIP 用户代理,具有注册、打电话和媒体建立的功能,使用 PJSUA 的API,在 200 行代码内实现。PJSUA这是 PJSIP 协议和 PJMEDIA 的参考实现。 PJSUA 是基于控制台的应用程序,设计简单、易读,但功能强大,足以体现 PJSIP 和 PJMEDIA 提供的所有功能。使用 PJSUA API关于如何创建和初始化 API 请参阅 PJSUA-API Basic API。PJSUA-API Basic APIPJSUA API - 高级软电话的 API基本的应用程序的创建、初始化,日志配置等。数据结构struct HYPERLINK /pjsi

5、p/docs/html/structpjsua_logging_config.htm pjsua_logging_configstruct HYPERLINK /pjsip/docs/html/structpjsua_mwi_info.htm pjsua_mwi_infostruct HYPERLINK /pjsip/docs/html/structpjsua_reg_info.htm pjsua_reg_infostruct HYPERLINK /pjsip/docs/html/structpjsua_callback.htm pjsua_callbackstruct HYPERLINK /

6、pjsip/docs/html/structpjsua_config.htm pjsua_configstruct HYPERLINK /pjsip/docs/html/structpjsua_msg_data.htm pjsua_msg_datastruct HYPERLINK /pjsip/docs/html/structpj_stun_resolve_result.htm pj_stun_resolve_result定义#define HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gac41e2f15f0fdc3174bbfb

7、e5da3be28fb PJSUA_INVALID_ID (-1)#define HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga4bcd5546337e1b90d3f5c0c01a1a5d45 PJSUA_DEFAULT_USE_SRTP HYPERLINK /pjmedia/docs/html/group_PJMEDIA_TRANSPORT_SRTP.htm l gga52f4c561c77ebd7a992feefc77624aceaf19b573266ffd49695cd8a4ac8384b09 PJMEDIA_SRTP_D

8、ISABLED#define HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga6f0d4739693edee4ab05b6c1f30d99af PJSUA_DEFAULT_SRTP_SECURE_SIGNALING 1#define HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga70119f7a4c72abf354039283ecac7e83 PJSUA_ADD_ICE_TAGS 1#define HYPERLINK /pjsip/docs/html/group_P

9、JSUA_LIB_BASE.htm l gae98e85eb09594bd57357ab758b7599ae PJSUA_ACQUIRE_CALL_TIMEOUT 2000#define HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gad1f797eedcbfafd4117b6f5443a43de2 pjsip_cred_dup pjsip_cred_info_dupTypedefstypedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36

10、550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gad4eb99a78c98ddbd83aecf7e933fc684 pjsua_call_idtypedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga01a78e17d7787f7e0ea5efd24

11、0f3e427 pjsua_acc_idtypedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga852998f2b5a6f0ba5fa9da27dfd3eb84 pjsua_buddy_idtypedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a45

12、38506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga266a56483961431df7a5ebae457b9f3f pjsua_player_idtypedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gad050f73ecac9a0ebbbcfc029ae483

13、118 pjsua_recorder_idtypedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gaf5d44947e4e62dc31dfde88884534385 pjsua_conf_port_idtypedefvoid(* HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gac1ee03

14、23b0cc53a373158212c0a30eb2 pj_stun_resolve_cb )(const HYPERLINK /pjsip/docs/html/structpj_stun_resolve_result.htm pj_stun_resolve_result *result)枚举enum HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gac300b9e3b2eb52a993d59217595f7be4 pjsua_create_media_transport_flag HYPERLINK /pjsip/docs/htm

15、l/group_PJSUA_LIB_BASE.htm l ggac300b9e3b2eb52a993d59217595f7be4a33025ff0fb76690e70b7fc3cb3641ceb PJSUA_MED_TP_CLOSE_MEMBER = 1 enum HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gaf352829cc383112c4ce4da58a4d0b37e pjsua_sip_timer_use HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggaf

16、352829cc383112c4ce4da58a4d0b37ea09c4a257587c997090586f21b74e247f PJSUA_SIP_TIMER_INACTIVE, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggaf352829cc383112c4ce4da58a4d0b37ea59ad155a340cbf54e8a18b605160de04 PJSUA_SIP_TIMER_OPTIONAL, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggaf35

17、2829cc383112c4ce4da58a4d0b37ea495ce8889f33ebd93e57957b3d1ca6e0 PJSUA_SIP_TIMER_REQUIRED, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggaf352829cc383112c4ce4da58a4d0b37ea77a6f622aa35857b56cc9b8099c5b0a3 PJSUA_SIP_TIMER_ALWAYS enum HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga3f9f

18、b347a70f9c51049836fd606883af pjsua_100rel_use HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gga3f9fb347a70f9c51049836fd606883afa16df0d21b150defc3be5dc9fd11e7567 PJSUA_100REL_NOT_USED, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gga3f9fb347a70f9c51049836fd606883afa3430f88686b97c4722

19、c64e99a0fd7ca0 PJSUA_100REL_MANDATORY, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gga3f9fb347a70f9c51049836fd606883afa75a2811c09556b635be67f0920a85898 PJSUA_100REL_OPTIONAL enum HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gafbe98339390b11b2e248d9420a2ed499 pjsua_destroy_flag HYP

20、ERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggafbe98339390b11b2e248d9420a2ed499a6b2eb1481899082e022534530bee9db2 PJSUA_DESTROY_NO_RX_MSG=1, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggafbe98339390b11b2e248d9420a2ed499a299b2522628f7e9d6a9f94124eadcc28 PJSUA_DESTROY_NO_TX_MSG = 2, H

21、YPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ggafbe98339390b11b2e248d9420a2ed499af884d2e4c0de1c3711595c89a212a9b3 PJSUA_DESTROY_NO_NETWORK 功能函数void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga9c0ad2b8e775b5ea692c8db4b399846b pjsua_logging_config_default ( HYPERLINK /pjsip/docs/ht

22、ml/structpjsua_logging_config.htm pjsua_logging_config *cfg)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gaad41d40cd8cb3462bdd9f5a331c476c9 pjsua_logging_config_dup ( HYPERLINK /pjlib/docs/html/structpj_pool_t.htm pj_pool_t *pool, HYPERLINK /pjsip/docs/html/structpjsua_logging_config.h

23、tm pjsua_logging_config*dst, const HYPERLINK /pjsip/docs/html/structpjsua_logging_config.htm pjsua_logging_config *src)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga473e1af0ea5c99c4412e5b0f7ff73c09 pjsua_config_default ( HYPERLINK /pjsip/docs/html/structpjsua_config.htm pjsua_config *

24、cfg)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga918c1b4f5cdf1ec607d0fdb9538c16a8 pjsua_config_dup ( HYPERLINK /pjlib/docs/html/structpj_pool_t.htm pj_pool_t *pool, HYPERLINK /pjsip/docs/html/structpjsua_config.htm pjsua_config *dst, const HYPERLINK /pjsip/docs/html/structpjsua_confi

25、g.htm pjsua_config *src)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gac5d917f5344530d8eb3442450ddccd2d pjsua_msg_data_init ( HYPERLINK /pjsip/docs/html/structpjsua_msg_data.htm pjsua_msg_data *msg_data) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e

26、 pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga2bb341e9b189b6716d146519f84e0d72 pjsua_create (void) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga72ccd5cc7dbf6f26b4ffedc0d97

27、28a2d pjsua_init (const HYPERLINK /pjsip/docs/html/structpjsua_config.htm pjsua_config *ua_cfg, const HYPERLINK /pjsip/docs/html/structpjsua_logging_config.htm pjsua_logging_config*log_cfg, const HYPERLINK /pjsip/docs/html/structpjsua_media_config.htm pjsua_media_config *media_cfg) HYPERLINK /pjlib/

28、docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga82f9b09d515c56288a2ad11f4fbdae3f pjsua_start (void) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/do

29、cs/html/group_PJSUA_LIB_BASE.htm l ga9eb04bbf136ed8d2f528db0a739482db pjsua_destroy (void) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga071d2b52e7455f80508afea16cbb7af1 pjsua_destroy2 (unsigned

30、HYPERLINK /pjlib/docs/html/group_PJ_SYS_INFO.htm l gae4737d316c3696dc34a85aa1c09dab99 flags) HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga9353166bfa640b62b3f33f752e07dda6 pjsua_handle_events (unsigned

31、msec_timeout) HYPERLINK /pjlib/docs/html/structpj_pool_t.htm pj_pool_t * HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gab6fda3eb1ff0817460db155ad91fcf60 pjsua_pool_create (const char *name, HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l ga9fdb3ceb491cd888cd30ca30d78026e8 pj_size_t init_siz

32、e, HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l ga9fdb3ceb491cd888cd30ca30d78026e8 pj_size_tincrement) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gab170aa6d3fe1195b7ed21b6afded75e1 pjsua_reco

33、nfigure_logging (const HYPERLINK /pjsip/docs/html/structpjsua_logging_config.htm pjsua_logging_config *c) HYPERLINK /pjsip/docs/html/sip_types_8h.htm l a2b184bd797bb08929129539d9dddd329 pjsip_endpoint* HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gad5963734b4bf5ca337d0f70a9861f3d4 pjsua_get

34、_pjsip_endpt (void) HYPERLINK /pjmedia/docs/html/group_PJMEDIA_TYPES.htm l ga7c3623d8e90e22b7184a6e42dc24f6f5 pjmedia_endpt* HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga76539759eb013ca275c7092df5c3d060 pjsua_get_pjmedia_endpt (void) HYPERLINK /pjlib/docs/html/structpj_pool_factory.htm pj

35、_pool_factory* HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga287942c06e12a470a567bccc090a36e9 pjsua_get_pool_factory (void) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga486165069204c0d

36、47a565d714638d5bd pjsua_detect_nat_type (void) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gac7fa60c2699aebe43e8b20aa68a7042f pjsua_get_nat_type ( HYPERLINK /pjnath/docs/html/group_PJNATH_NAT_DET

37、ECT.htm l ga07c3bec1eee4e02ea2fd5f03299d913d pj_stun_nat_type *type) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga28de9872f90f7ef1dc4f000066f8bd6d pjsua_resolve_stun_servers(unsignedcount, HYPER

38、LINK /pjlib/docs/html/structpj_str_t.htm pj_str_tsrv, HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l ga1dc7a356fb36bd2dee2bc7d6c7e817e4 pj_bool_t wait, void *token, HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gac1ee0323b0cc53a373158212c0a30eb2 pj_stun_resolve_cb cb) HYPERLINK /pjlib/docs/

39、html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga45e753541e4ec870e60d41b49c008ff4 pjsua_cancel_stun_resolution (void *token, HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l ga1dc7a356fb36bd2dee2bc7d6c7e817e4 pj_bool_t no

40、tify_cb) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gad6f3f10da98b76dc9d4fde50d923615f pjsua_verify_sip_url (const char *url) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab45

41、80509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga69049800d83c9f4518af6bf15ddee62a pjsua_verify_url (const char *url) HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l

42、ga4b3f7529ece820df563c4b1a4f4a649b pjsua_schedule_timer ( HYPERLINK /pjlib/docs/html/structpj_timer_entry.htm pj_timer_entry *entry, const HYPERLINK /pjlib/docs/html/structpj_time_val.htm pj_time_val*delay)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gab3a4cecd850753caf221673319c2f38c

43、pjsua_cancel_timer ( HYPERLINK /pjlib/docs/html/structpj_timer_entry.htm pj_timer_entry *entry)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga3a697ba03ae9cd18df552143b770f957 pjsua_perror (const char *sender, const char *title, HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba316

44、7bd2a2ab4580509dbf79200e pj_status_tstatus)void HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga8e4a54271a326cad73969a6fe6ad7548 pjsua_dump ( HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l ga1dc7a356fb36bd2dee2bc7d6c7e817e4 pj_bool_t detail)详细说明基础的 PJSUA-API 控制PJSUA 的创作、初始化、启动,同时还提供各种辅助功能。使

45、用 PJSUA 库创建 PJSUA在任何事情之前,应用程序必须调用 pjsua_create()创建 PJSUA。除其他事项外,这将初始化 PJLIB,PJLIB-util,并创建一个 SIP endpoint,在调用任何 PJLIB 功能之前这是至关重要的一步。这个函数被调用后,应用程序可以创建一个内存池(使用 pjsua_pool_create(),并从命令行或文件中读取配置,初始化 PJSUA 如下。初始化 PJSUA创建 PJSUA 后,应用程序可以通过调用 pjsua_init()初始化 PJSUA。如果应用程序要设置它们,这个函数有几个参数可选。PJSUA-LIB 初始化(C 语言

46、)初始化 PJSUA 的示例(C 代码): #include #define THIS_FILEFILE static HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t app_init(void) HYPERLINK /pjsip/docs/html/structpjsua_config.htm pjsua_configua_cfg; HYPERLINK /pjsip/docs/html/structpjsua_logging_config.htm pj

47、sua_logging_config log_cfg; HYPERLINK /pjsip/docs/html/structpjsua_media_config.htm pjsua_media_configmedia_cfg; HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t status;/ 再做任何事情之前必须创建 PJSUA! status = HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l

48、ga2bb341e9b189b6716d146519f84e0d72 pjsua_create();if (status != PJ_SUCCESS) HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga3a697ba03ae9cd18df552143b770f957 pjsua_perror(THIS_FILE, Error initializing pjsua, status); return status;/ 使用默认配置 HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l

49、 ga473e1af0ea5c99c4412e5b0f7ff73c09 pjsua_config_default(&ua_cfg); HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga9c0ad2b8e775b5ea692c8db4b399846b pjsua_logging_config_default(&log_cfg); HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_MEDIA.htm l ga6e52551f2fd68d2d2c8aa1e233579670 pjsua_media_co

50、nfig_default(&media_cfg);/ 应用程序若要被重写,则回调 pjsua_config: ua_cfg. HYPERLINK /pjsip/docs/html/structpjsua_config.htm l a6d1dc16d2a378d2cea6bd6e9a3aa64c5 cb HYPERLINK /pjsip/docs/html/structpjsua_callback.htm l a402dc4b89c409507fa69b54494efef10 .on_incoming_call = . ua_cfg. HYPERLINK /pjsip/docs/html/str

51、uctpjsua_config.htm l a6d1dc16d2a378d2cea6bd6e9a3aa64c5 cb HYPERLINK /pjsip/docs/html/structpjsua_callback.htm l a06e6135aeaa81b32fdc66fa603a0546c .on_call_state = ./ 自定义其他设置或用配置文件初始化它们./ 初始化 pjsuastatus = HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga72ccd5cc7dbf6f26b4ffedc0d9728a2d pjsua

52、_init(&ua_cfg, &log_cfg, &media_cfg); if (status != PJ_SUCCESS) HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga3a697ba03ae9cd18df552143b770f957 pjsua_perror(THIS_FILE, Error initializing pjsua, status); return status;.其他初始化PJSUA 初始化后,应用程序将通常需要/想要执行下列任务:使用 pjsua_transport_create()创建 SIP 传输。应

53、用程序将为它支持每个传输类型(例如 UDP、TCP 和TLS)调用 pjsua_transport_create()。更多信息,请参阅 PJSUA-API 的信令传输。使用 pjsua_acc_add()或 pjsua_acc_add_local()创建一个或多个 SIP 帐号。SIP 帐户用于向 SIP 服务器注册。更多信息,请参阅 PJSUA-API 的帐务管理。使用 pjsua_buddy_add()添加一个或多个好友。更多信息,请参阅 PJSUA-API的好友、用户状态和即时消息。选择配置声音设备,设置编解码器,设置其他媒体。更多信息,请参阅 PJSUA-API的媒体操作。运行 PJS

54、UA完成初始化后,应用程序必须调用 pjsua_start()开始 PJSUA。此功能将检查所有的设置是否正确配置,如果他们没有将采用默认设置,或者如果它是无法从丢失的设置中恢复则报告错误状态。大多数设置都可以在运行时改变。例如,应用程序可以在运行时添加,修改,或删除帐户,好友,或改变媒体设置。开始 PJSUA 的例子 C 代码示例代码:static HYPERLINK /pjlib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t app_run(void) HYPERLINK /pjl

55、ib/docs/html/group_PJ_BASIC.htm l gab43ba3167bd2a2ab4580509dbf79200e pj_status_t status;/ 运行 pjsuastatus = HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga82f9b09d515c56288a2ad11f4fbdae3f pjsua_start();if (status != PJ_SUCCESS) HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga9eb04bbf

56、136ed8d2f528db0a739482db pjsua_destroy(); HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga3a697ba03ae9cd18df552143b770f957 pjsua_perror(THIS_FILE, Error starting pjsua, status); return status;/ 循环执行应用程序while (1) char choice10;printf(Select menu: ); fgets(choice, sizeof(choice), stdin);.Defin

57、e Documentation#define PJSUA_INVALID_ID (-1)无效 ID#define PJSUA_DEFAULT_USE_SRTP HYPERLINK /pjmedia/docs/html/group_PJMEDIA_TRANSPORT_SRTP.htm l gga52f4c561c77ebd7a992feefc77624aceaf19b573266ffd49695cd8a4ac8384b09 PJMEDIA_SRTP_DISABLED最多代理账户的数目,SRTP 模式下的默认值。有效值:PJMEDIA_SRTP_DISABLED,PJMEDIA_SRTP_OPTI

58、ONAL,and PJMEDIA_SRTP_MANDATORY. #define PJSUA_DEFAULT_SRTP_SECURE_SIGNALING 1SRTP 安全信令要求的默认值。有效值为:0:SRTP 的不需要安全信号;1:SRTP需要安全传输如 TLS;2:SRTP 需要安全的终端到终端传输(SIPS)#define PJSUA_ADD_ICE_TAGS 1如果在配置中 ICE 使能,控制 PJSUA-LIB 是否应该添加 ICE 媒体功能的标签参数( ;+sip.ice ) 到联系首部,默认: 1#define PJSUA_ACQUIRE_CALL_TIMEOUT 2000在一次

59、特定呼叫中获取互斥锁的超时值默认: 2000 ms#define pjsip_cred_dup pjsip_cred_info_dup它的实现已经被转移至 sip_auth.hTypedef Documentation typedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l gad4eb99a78c98ddbd83aecf7e933fc684 pjsua

60、_call_id 呼叫标识typedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506d020e int HYPERLINK /pjsip/docs/html/group_PJSUA_LIB_BASE.htm l ga01a78e17d7787f7e0ea5efd240f3e427 pjsua_acc_id账户标识typedef HYPERLINK /pjlib/docs/html/group_PJ_THREAD.htm l gab600dc33a20a0f36550a4538506

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论