Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150627
  • 博文数量: 28
  • 博客积分: 1476
  • 博客等级: 上尉
  • 技术积分: 356
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-11 11:39
文章分类
文章存档

2011年(1)

2010年(18)

2009年(9)

我的朋友

分类: 嵌入式

2010-04-09 18:16:28

    今天又迷迷糊糊的看了一天的SIP的代码,还是在logic里瞎转,转来转去就开始迷糊了。看似好像今天没有任何收获,但是现在一总结,才发现还是有点收获的。最起码已经知道了sip库,逻辑层logic与前端页面之间是怎么通信。
  本地:
    第一,如果是从前端页面发过来的信息,信息格式中都包含有CMD字段。
    第二,逻辑层接收到前端页面发过来的信息后,进行解析,然后通过将解析出来的信息发入一个结构体并调用sip库提供的接口,将这个结构体传给sip库。
    第三,sip库根据sip协议组织一系列信息,最后将信息发给服务器端,然后在由服务器转发给对方,这里sip库没有做任何逻辑上的判断与检查所拨打的号码等信息是否正确,它只是将从logic传过来的信息进行加工,使之符合sip协议的标准。
 
以下是自己的猜想
  对方:
    第一,sip库从服务器上收到sip消息之后,将信息进行分解,然后分别将信息发给服务器以通知另一方并将有用的关系到logic的信息又传给logic。
    第二,logic收到从sip库传过来的信息之后,进行一系列的处理之后,将与页面显示相关的信息又发给前端页面,以让前端页面在界面上显示正确的信息。sip库发给logic的信息中都有NOTIFY的字段。
    第三,前端页面在收到相关的信息之后,进行处理,然后进行页面的更新,如:显示广告,正在拨号等。
 
    前端页面与logic是通过udp来进行通信的,而logic与sip库是通过传参数来进行通信。注意:并不是从前端页面发给logic的信息都需要logic发给sip库,只有在与拨打电话与对端进行通信相关的信息,logic才会发给sip库,其它的logic只是将前端页面进行逻辑上的页面更新。
阅读(1317) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~