基于SCP协议的通信终端呼叫处理方法与流程

文档序号:14635009发布日期:2018-06-08 19:36阅读:1262来源:国知局
基于SCP协议的通信终端呼叫处理方法与流程

本发明属于多媒体通讯技术领域,具体涉及一种基于SCP协议的通信终端呼叫处理方法。



背景技术:

目前市场上终端呼叫方式无法对多宿和部分有序同时进行支持,也无法根据不同传输地址对不同的数据路径建立独立标准化的拥塞控制,从而导致无法调用所有的通信,出现信息缺失、混乱的问题。



技术实现要素:

鉴于上述现有技术存在的缺陷,本发明的目的就是提出一种基于SCP协议的通信终端呼叫处理方法,本处理方法支持对多宿和部分有序的支持,使每个端点可被多个传输地址访问,并对每一条访问路径建立标准化拥塞控制。

本发明的目的,将通过以下技术方案得以实现:基于SCP协议的通信终端呼叫处理方法,包括如下步骤,

S1、客户端与服务端建立SCTP通信信道,绑定通信服务端口,检查端口状态;

S2、对端口及连接状态进行监听;服务端接收客户端发起的呼叫申请;

S3、客户端通过SCTP通信信道向服务端发送呼叫信息,迭代通信过程;

S4、服务器接收关闭命令,关闭通信通道。

本发明进一步限定的技术方案是:步骤S3中客户端通过SCTP通信信道向服务端发送呼叫信息的具体方法为,S31、客户端调用connect,向服务端发送INIT(Ta,J)分节;

S32、服务端调用accept,接收到INIT分节后向客户端发送确认INIT ACK分节;

S33、客户端接收到确认INIT ACK分节后,发送一个COOKIE ECHO分节回射服务器状态cookie;

S34、服务端接收到客户端的COOKIE ECHO分节,accept函数返回,并发送一个COOKIE ACK分节,客户端收到该确认分节,connect返回关联建立。

作为本发明的进一步改进,进一步的,客户端为每个送到服务端的消息分配一个流序号,确保消息按流序号发送,同时,当一个具有流序号的消息正在等待下一个非顺序的消息时,其他给具有流序号的消息会继续发送。

作为本发明的进一步改进,进一步的,公告推送请求包括调用来源标识、调用目标标识、调用标识、调用的名称、调用的输入参数,公告推送请求采用XML格式封装;步骤S4中,若该次公告推送请求有效,则根据调用的名称及输入参数去执行,将正确的请求结果返回,若该次公告推送请求无效,则将错误的请求结果返回。

作为本发明的进一步改进,更进一步的,服务端按流序号接收客户端发送的消息,并返回序号确认是否存在消息丢失。

作为本发明的进一步改进,更进一步的,多个消息可以绑定在一个数据块上,呼叫信息仅保留应用程序的消息框架边界;不同类型的块可绑定到一个通信包中,控制块必须放在任何一个数据块之前。

作为本发明的进一步改进,进一步的,客户端根据已发现的MTU大小对消息分片,服务器接收后重组分片。

作为本发明的进一步改进,进一步的,客户端根据用户指示和当前可达的合格目的地从服务器提供的一组传输地址中选择出目的传输地址建立链路,客户端的路径管理定时地扫描链路的可达性,并报告传输地址所发生的变化,路径管理在建立链路时,向服务端报告可用的本地地址。

作为本发明的进一步改进,更进一步的,当客户端传送数据包给目的传输地址。若此目的传输地址是不可达的,则可将数据包重路由给一个交替的传输地址。

本发明的突出效果为:本方法提供面向连接的、点到点的可靠传输,它继承了TCP强大的拥塞控制、数据包丢失发现等功能,任何在TCP上运行的通信应用都可被本呼叫调用,本呼叫方式支持对多宿(multihoming)和部分有序(partial ordering)的支持, 使得每个端点可被多个传输地址访问到,选择不同传输地址会导致两个端点间不同的数据路径,并在每一条路径都建立一条独立的标准化拥塞控制。

附图说明

图1为本发明的方法流程图;

图2为本发明的呼叫关联示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

参阅图1与图2本发明的基于SCP协议的通信终端呼叫处理方法,包括如下步骤,

S1、客户端与服务端建立SCTP通信信道,绑定通信服务端口,检查端口状态;

S2、对端口及连接状态进行监听;服务端接收客户端发起的呼叫申请;

S3、客户端通过SCTP通信信道向服务端发送呼叫信息,迭代通信过程;

S4、服务器接收关闭命令,关闭通信通道。

以下将对上述步骤S1~S4中的操作规则、方式等进行详细说明。

步骤S3中客户端通过SCTP通信信道向服务端发送呼叫信息的具体方法为,S31、客户端调用connect,向服务端发送INIT(Ta,J)分节;

S32、服务端调用accept,接收到INIT分节后向客户端发送确认INIT ACK分节;

S33、客户端接收到确认INIT ACK分节后,发送一个COOKIE ECHO分节回射服务器状态cookie;

S34、服务端接收到客户端的COOKIE ECHO分节,accept函数返回,并发送一个COOKIE ACK分节,客户端收到该确认分节,connect返回关联建立。

客户端为每个送到服务端的消息分配一个流序号,确保消息按流序号发送,同时,当一个具有流序号的消息正在等待下一个非顺序的消息时,其他给具有流序号的消息会继续发送。

公告推送请求包括调用来源标识、调用目标标识、调用标识、调用的名称、调用的输入参数,公告推送请求采用XML格式封装;步骤S4中,若该次公告推送请求有效,则根据调用的名称及输入参数去执行,将正确的请求结果返回,若该次公告推送请求无效,则将错误的请求结果返回。

服务端按流序号接收客户端发送的消息,并返回序号确认是否存在消息丢失。呼叫时充分利用了TCP中的拥塞控制技术,包括慢启动,拥塞避免和快速重传。因此,当和TCP应用共存时,可接收属于SCTP的网络资源部分。

多个消息可以绑定在一个数据块上,呼叫信息仅保留应用程序的消息框架边界;不同类型的块可绑定到一个通信包中,控制块必须放在任何一个数据块之前。

客户端根据已发现的MTU大小对消息分片,服务器接收后重组分片。

客户端根据用户指示和当前可达的合格目的地从服务器提供的一组传输地址中选择出目的传输地址建立链路,客户端的路径管理定时地扫描链路的可达性,并报告传输地址所发生的变化,路径管理在建立链路时,向服务端报告可用的本地地址。

当客户端传送数据包给目的传输地址。若此目的传输地址是不可达的,则可将数据包重路由给一个交替的传输地址,这样,在关联的一端甚至两端,可容忍网络级错误。

服务器可以防范拒绝服务(DoS)攻击,DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。SYN Flooding攻击是DoS攻击的一种实例,是目前效果最好的一种黑客攻击方式。为了抵抗SYN Flooding对目标主机攻击,在关联初始化阶段实施了一种安全的“Cookie”机制。

呼叫处理过程如下:

客户端作为呼叫发起方发送一个SCP呼叫INIT信息,作为初始化的依据。信息中包含了呼叫发起者的IP地址清单、初始序列号、用于标识本耦联中所有报文的起始标识、客户请求的外出流的数目、客户能够支持的外来流数目,服务器端发送INIT ACK消息确认连接发起方的初始消息,即同样包含交易发起方的全部初始化信息,并生成一个呼叫状态的Cookie,Cookie中包括服务器用于确信本耦联有效性所需的全部状态,为确认本Cookie真实有效性,需要经过严格的数字签名保护的,客户端再以一个COOKIE ECHO消息返回服务器的状态Cookie,除本信息域外,该消息可能在同一个报文中捆绑一个用户数据。接下来,服务端以一个COOKIE ACK消息确认客户端返回的COOKIE是正确的,至此该耦的连接建立已经成功了,其他客户端加入的连接过程与此类似。

本实施例提供面向连接的、点到点的可靠传输,它继承了TCP强大的拥塞控制、数据包丢失发现等功能,任何在TCP上运行的通信应用都可被本呼叫调用,本呼叫方式支持对多宿(multihoming)和部分有序(partial ordering)的支持, 使得每个端点可被多个传输地址访问到,选择不同传输地址会导致两个端点间不同的数据路径,并在每一条路径都建立一条独立的标准化拥塞控制。

除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1