freeswitch中⽂本消息处理流程
流程图转换为ns图1. Freeswitch转发⽂本消息流程如下流程图所⽰:
1.1 chat_thread_run函数
该函数从消息队列中pop消息,并把消息传递给chat_process_event函数进⾏处理
1.2 chat_process_event函数,定义如下:
1.3 sofia_presence_chat_send函数
sofia_presence_chat_send函数对参数message_event进⾏解释,并重新组装成nua_message函数需要的参数,最终由nua_message函数把⽂本消息发送到⽬的客户端,如下图:
1.4 nua_message函数
nua_message函数使⽤宏NUA_SIGNAL对nua_signal函数进⾏调⽤
1.5 nua_signal函数
nua_signal函数对参数重新进⾏封装,然后调⽤su_msg_send_to函数把消息发送到sofia-sip,并由sofia-sip转发到⽬的客户端
2. 客户端和FreeSwitch之间收发⽂本消息使⽤的是sip的扩展simple,消息内容放在SIP的“Message Body”中,如下图所⽰:
3. simple协议简介
由IETF制定的SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions)协议簇对SIP协议进⾏了扩展,以使其⽀持IM服务。SIMPLE增加了MESSAGE、SUBSCRIBE和NOTIFY⽅法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。