没有合适的资源?快使用搜索试试~ 我知道了~
linphone呼叫流程.pdf
需积分: 34 27 下载量 63 浏览量
2019-09-20
14:32:43
上传
评论
收藏 298KB PDF 举报
温馨提示
试读
1页
linphone呼叫流程图,自己一步一步整理出来,现在分享出来给大家参考
资源推荐
资源详情
资源评论
linphone
开启ICE stun服务
LinphoneEnableStun( )
lpc _cmd_stun
inphone_core_set_stun_ser ver将stun address保
存到 lc->net _conf.stun_server
lpc _cmd_firewall
linphone_core_set_firewall_policy使能stun 和
ICE功能)
linphone呼叫流程
lpc _cmd_castor3_call
lpc _cmd_castor3_call linphone_core_invite_with_params
linphone_core_invite_address_with_
params(Windows 版本4.1.1)
linphone_core_invite_address_with_
params
sal_ping
linphone_call_new_outgoing
linphone_core_get_local_ip获取本地IP
linphone_core_run_stun_tests
sendStunRequest
stunBuildReqSimple
stunEncodeMessage
send_ stun_request
(Windows 安卓版本4.1.1)
ms_stun_binding_request_create
ms_stun_message_get_tr_id
ms_stun_message_set _tr_id
ms_stun_message_enable_change_ip
linphone_call_init_media_streams(重点)
ms_stun_message_encode(重点) ms_stun_message_use_candidate_enabled
ice_update_nominated_flag_on_binding_
request
ice_handle_received_binding_request ice_handle_stun_packet media_stream_iterate
audio_stream_iterate
mediastream_run_loop
linphone_call_handle_stream_events
linphone_call_stop_audio_stream linphone_call_stop_media_streams
linphone_call_stop_video_stream linphone_call_stop_media_streams
linphone_call_stop_text_stream linphone_call_stop_media_streams
linphone_call_background_tasks linphone_core_iterate linphone_call_start_invite(call, NULL);
linphone_call_make_local_media_description(
call);
update_media_description_from_stun
text _stream_iterate
video_stream_iterate
linphone_core_iterate
linphone_call_handle_stream_events
mediastream_run_loop
iterate_adaptive_stream
pcap_tester_iterate_until
congestion_adaptation
wait _for_list_with_parse_events
wait _for_until_with_parse_events
wait _for_list
StunCandidate *ac=&call->ac;获取到外网IP存放
在此
update_media_description_from_stun call->ac
在此函数引用
linphone_call_make_local_media_description
call_received
all_updating
_linphone_call_pause
linphone_call_resume
linphone_call_accept_with_params
inphone_call_accept_early_media_with_params
linphone_call_star t_update
linphone_call_star t_accept_update
linphone_call_star t_invite
(linphone_nat _policy_ice_enabled(lc))
sendStunRequest
create_local_media_description
_create_local_media_description audio video
本地媒体信息描述 保存在call->localdesc
需要ping操
作,Ping_op的
回应,消息处
理函数是:
other_request_
reply(sal,ev);
-->sal->
callbacks.ping_
reply(op);在
ping_reply里
面:linphone_
core_star t_
invite(call->
core,call,
NULL);
接收sal_ping内容并设置呼叫状态
other_request_reply
ping_reply
linphone_core_star t_invite
linphone_call_set_contact_op get_fixed_contact(ice选择)
尽最大努力提供真正的本地或可路由的联系地址
linphone_call_init_media_streams
sal_call_set_local_media_description 将call呼
叫信息 复制到call->op
linphone_call_update_local_media_description_
from_ice_or_upnp(call)(新增重点)
_update_local_media_description_from_ice(新
增重点)
sal_call(真正开始呼叫)
sal_call(call->op,from,real_url) from改为外网IP
eXosip_call_build_initial_invite
generating_request_out_of_dialog 呼叫所需要
协议的头文件信息加载
osip_message_set_allow
set _sdp_from_desc media信息描述 media_description_to_sdp add_line
set _sdp_from_desc
media_description_to_sdp将desc
信息保存到msg
create_generic_sdp将 des 改为msg
set _sdp osip_message_set_body sip发送body
linphone_call_set_state(call,
LinphoneCallOutgoingProgress,"Outgoing call
in progress");
linphone_call_proceed_with_invite_if_ready
(Windows 安卓版本4.1.1)
linphone_call_star t_invite
linphone_call_set_contact_op get_fixed_contact(ice选择)
linphone_call_make_local_media_description
linphone_call_update_local_media_description_
from_ice_or_upnp
_update_local_media_description_from_ice(增
加candidate)
sal_call sal_op_fill_invite set_sdp_from_desc
media_description_to_sdp
sip发送body内容在此转化
ice_ session_candidates_gathered判断ICE ready
ice_check_list_new
_linphone_call_prepare_ice_for_stream
linphone_call_prepare_ice
linphone_call_init_audio_stream linphone_call_init_audio_stream
setup_media_streams
session->streams
ice_ session_add_check_list
媒体描述流程详解
linphone_call_init_media_streams
linphone_call_prepare_ice(call, FALSE)
linphone_call_background_tasks
/*新增ICE stun NAT 穿洞*/
/*新增ICE stun NAT 穿洞*/
MediaStream *ms = stream_index == call->main_audio_stream_index ? (MediaStream *)call->audiostream : (stream_
index == call->main_video_stream_index ? (MediaStream *)call->videostream : (MediaStream *)call->textstream);
//coreapi/nat_policy.c
coreapi/nat_policy.h
资源评论
耶穆穆谏默
- 粉丝: 22
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功