CN101052048A - 会话发起协议呼叫方法、中间件及会话发起协议用户代理 - Google Patents
会话发起协议呼叫方法、中间件及会话发起协议用户代理 Download PDFInfo
- Publication number
- CN101052048A CN101052048A CNA2007101061322A CN200710106132A CN101052048A CN 101052048 A CN101052048 A CN 101052048A CN A2007101061322 A CNA2007101061322 A CN A2007101061322A CN 200710106132 A CN200710106132 A CN 200710106132A CN 101052048 A CN101052048 A CN 101052048A
- Authority
- CN
- China
- Prior art keywords
- sip
- user
- middleware
- message
- web browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000977 initiatory effect Effects 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000009471 action Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种SIP呼叫方法,包括:中间件检测到任意用户发起的SIP呼叫,对SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户;接收到目标SIP用户发来的SIP呼叫消息,对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户。本发明还公开了一种中间件,包括:消息处理器和SIP协议栈。本发明还公开了一种SIP-UA,包括:WEB浏览器、WEB服务器和中间件。本发明可对SIP呼叫和SIP-UA进行集中管理,同时由于企业级应用或网络游戏等应用可在中间件上实现,因此,本发明提供的SIP-UA可与其它企业级应用或网络游戏等实现无缝衔接。
Description
技术领域
本发明涉及会话发起协议(SIP)技术领域,具体涉及SIP呼叫方法、中间件及SIP-UA。
背景技术
当用户之间使用SIP进行通信时,用户必须有一个功能实体SIP-UA,用户通过自身的SIP-UA与其它用户的SIP-UA实现语音、视频数据的交互。
图1给出了用户之间通过SIP-UA进行通信的示意图,如图1所示,每个用户对应一个SIP-UA,每个SIP-UA上分别运行一个SIP协议栈以实现与其它SIP-UA之间的SIP报文的交互,SIP-UA之间交互的SIP报文要经过SIP服务器如:代理服务器、注册服务器或重定向服务器的转发,且每个SIP-UA要具有语音、视频数据的编解码功能,以实现与其它SIP-UA之间的语音、视频交互。另外,SIP-UA还需实现其它附带属性如:记录呼叫相关信息等,以方便用户查询呼叫记录。
图2给出了用户之间通过SIP-UA实现呼叫的典型消息流程示意图,如图2所示,其具体步骤如下:
步骤201:用户a确定要呼叫用户b,用户a的SIP-UA_a向用户b的SIP-UA_b发送SIP呼叫建立(INVITE)消息,该消息中的会话描述协议(SDP)域包含SIP-UA_a支持的所有编解码算法信息。
步骤202:SIP-UA_b收到该INVITE消息,向SIP-UA_a返回100尝试(100Trying)消息,以通知SIP-UA_a已收到但尚未处理该消息,请等待。
步骤203:SIP-UA_b处理INVITE消息,向用户b振铃,并向SIP-UA_a发送180振铃(Ringing)消息,以通知SIP-UA_a正在提示用户b,请等待。
步骤204:SIP-UA_b处理完该INVITE消息,向SIP-UA_a返回200响应(OK)消息,该消息的SDP域中包含SIP-UA_b和SIP-UA_a都支持的编解码算法信息。
步骤205:SIP-UA_a收到该200OK消息,向SIP-UA_b返回确认(ACK)消息。
步骤206:SIP-UA_a和SIP-UA_b使用200OK消息中指示的编解码算法,对要发送的语音或视频数据进行编码后,封装成RTP报文发送给对端;使用200OK消息中指示的编解码算法对对端发来的RTP报文中的语音或视频数据进行解码后,向用户播放解码后的语音数据或显示解码后的视频数据。
步骤207:SIP-UA_a或SIP-UA_b检测到用户挂断,向对端发送结束(BYE)消息。
步骤208:SIP-UA_b或SIP-UA_a收到对端发来的BYE消息,向对端返回200OK消息,呼叫断开。
SIP-UA功能实体既可以由硬终端的形式实现,例如:将SIP-UA的功能集成在移动终端上实现,也可以由软终端的形式实现,如:在PC机上安装可实现SIP-UA所有功能的程序。但不管是硬终端形式还是软终端形式的SIP-UA,每个SIP-UA都只与一个用户对应,在整个SIP系统中,所有的SIP-UA都是分散的个体,不利于对SIP呼叫和SIP-UA的集中管理;另外,在实际应用中,SIP-UA通常都要与一些企业级应用软件以及网络游戏软件等进行交互,以满足用户的企业级应用要求或娱乐要求,而企业级应用软件或网络游戏软件等通常都在运行在WEB服务器上的服务程序:中间件上实现,因此,SIP-UA无法与企业级应用或网络游戏等实现无缝衔接。
发明内容
本发明提供SIP呼叫方法、中间件及SIP-UA,以实现对SIP呼叫的集中管理。
本发明的技术方案是这样实现的:
一种SIP呼叫方法,包括:
中间件检测到任意用户发起SIP呼叫,对SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户;接收到目标SIP用户发来的SIP呼叫消息,对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户。
所述中间件检测到任意用户发起SIP呼叫之前进一步包括:
WEB浏览器与运行中间件的WEB服务器建立链接,链接成功,WEB服务器向WEB浏览器返回SIP会话页面;WEB浏览器检测到任意用户通过SIP会话页面发起SIP呼叫,向中间件发送SIP呼叫消息。
所述中间件对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户之后进一步包括:
WEB浏览器接收到所述发起SIP呼叫的用户发来的语音或视频数据,将该语音或视频数据封装成实时传输协议RTP报文后发送给目标SIP用户。
所述WEB浏览器将语音或视频数据封装成RTP报文后发送给目标SIP用户包括:WEB浏览器将语音或视频数据封装成RTP报文后发送给中间件,中间件收到该报文后,将该报文转发给目标SIP用户。
所述中间件收到该报文之后进一步包括:中间件将该报文携带的语音或视频数据存储在WEB服务器上;
WEB浏览器检测到用户点击语音或视频数据链接,向WEB服务器发送超文本传输协议(HTTP)请求,WEB服务器收到该HTTP请求,将存储的语音或视频数据通过HTTP响应返回给WEB浏览器,WEB浏览器将该语音或视频数据通过播放器播放给用户。
所述中间件对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户包括:中间件对该SIP呼叫消息经SIP协议栈处理后,将该消息发送给所述发起SIP呼叫的用户访问的WEB浏览器。
所述方法进一步包括:中间件将本次呼叫记录存储在数据库中;
WEB浏览器检测到用户点击呼叫记录链接,向WEB服务器发送HTTP请求,WEB服务器收到该HTTP请求,向中间件发送呼叫记录查询请求,中间件根据该请求从数据库获取到呼叫记录,将该呼叫记录返回给WEB服务器,WEB服务器将该呼叫记录通过HTTP响应返回给WEB浏览器,WEB浏览器将该呼叫记录显示给用户。
所述中间件对该SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户为:中间件将该经SIP协议栈处理的SIP呼叫消息发送给目标SIP用户的SIP-UA。
所述中间件对该SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户为:中间件将该经SIP协议栈处理的SIP呼叫消息发送给目标SIP用户访问的中间件。
一种中间件,包括:消息处理器和SIP协议栈,其中:
消息处理器,检测到任意用户发起SIP呼叫,将SIP呼叫消息发送给SIP协议栈,接收SIP协议栈返回的SIP呼叫消息,将该消息发送给目标SIP用户;接收目标SIP用户发来的SIP呼叫消息,将该消息发送给SIP协议栈,接收SIP协议栈返回的SIP呼叫消息,将该SIP呼叫消息提供给所述发起SIP呼叫的用户;
SIP协议栈,接收消息处理器发来的SIP呼叫消息,对该消息进行SIP协议处理,将处理后的SIP呼叫消息返回给消息处理器。
所述消息处理器进一步用于,接收所述发起SIP呼叫的用户发来的RTP报文,将该RTP报文发送给目标SIP用户;接收目标SIP用户发来的RTP报文,将该RTP报文提供给所述发起SIP呼叫的用户。
所述消息处理器进一步将本次呼叫记录存储到数据库上,检测到用户发起呼叫记录查询请求,从数据库获取呼叫记录,将该呼叫记录提供给用户。
一种SIP-UA,包括:WEB浏览器、WEB服务器和中间件,其中:
WEB浏览器,与运行中间件的WEB服务器建立链接,接收WEB服务器发来的SIP会话页面,检测到任意用户通过SIP会话页面发起SIP呼叫,与中间件交互SIP呼叫消息;将发起SIP呼叫的用户发来的语音或视频数据封装成RTP报文发送给目标SIP用户;
WEB服务器,向WEB浏览器返回SIP会话页面;
中间件,接收WEB浏览器或目标SIP用户发来的SIP呼叫消息,将该消息经SIP协议栈处理后发送给目标SIP用户或WEB浏览器。
所述SIP-UA进一步包括:数据库,接收并保存中间件发来的呼叫记录;
且,所述中间件进一步将本次呼叫记录发送给所述数据库,接收到WEB服务器发来的呼叫记录查询请求,从数据库获取呼叫记录,将该呼叫记录返回给WEB服务器;
所述WEB服务器收到WEB浏览器发来的指示呼叫记录查询的HTTP请求,向中间件发送呼叫记录查询请求,将中间件返回的呼叫记录通过HTTP响应返回给WEB浏览器。
与现有技术相比,本发明通过将SIP-UA功能实体的SIP呼叫功能集成在中间件上,使得任何用户都可通过访问中间件来实现SIP呼叫,有利于对SIP呼叫和SIP-UA的集中管理;具体地,用户可通过WEB浏览器来访问运行在WEB服务器上的中间件。另外,由于企业级应用或网络游戏等应用可在中间件上实现,而本发明提供的SIP-UA的功能也集成在中间件上,因此,本发明提供的SIP-UA可与企业级应用或网络游戏等实现无缝衔接。
附图说明
图1为现有技术中用户之间通过SIP-UA进行通信的示意图;
图2为现有技术中用户之间通过SIP-UA实现呼叫的典型消息流程示意图;
图3为本发明实施例一提供的用户之间通过SIP-UA实现呼叫的典型消息流程示意图;
图4为本发明实施例一提供的通过SIP-UA实现呼叫的示意图;
图5为本发明实施例二提供的用户之间通过SIP-UA实现呼叫的典型消息流程示意图;
图6为本发明实施例二提供的通过SIP-UA实现呼叫的示意图;
图7为本发明实施例三提供的通过SIP-UA实现呼叫的示意图;
图8为本发明实施例提供的SIP-UA的结构示意图。
具体实施方式
本发明的核心思想是:在中间件上增加SIP协议栈,中间件负责将SIP报文经SIP协议栈处理后转发给其他SIP用户。由于中间件是运行在WEB服务器上的服务程序,因此,任何一个用户都可通过WEB浏览器来访问WEB服务器上的中间件,从而实现SIP呼叫。具体地,用户可通过WEB浏览器发起SIP呼叫,由WEB浏览器将SIP呼叫发送至中间件,且用户可通过WEB浏览器与其他SIP用户交互RTP报文,从而实现SIP-UA的所有功能。
以下以一个典型的SIP呼叫为例,对本发明实施例提供的实现SIP-UA的方案进行详细说明。
图3为本发明实施例一提供的用户之间通过SIP-UA实现呼叫的典型消息流程示意图,在本实施例中,用户a使用本发明实施例提供的通过WEB浏览器、WEB服务器和中间件实现的SIP-UA,用户b则使用现有技术中的SIP-UA,如图3所示,其具体步骤如下:
步骤301:用户a确定要呼叫用户b,在WEB浏览器上点击运行中间件的WEB服务器的链接,WEB浏览器检测到该点击动作,向WEB服务器发送携带WEB服务器地址信息的超文本传输协议(HTTP)请求。
步骤302:WEB服务器收到该HTTP请求,向WEB浏览器返回携带SIP会话页面的HTTP响应,WEB浏览器收到该HTTP响应,将该响应携带的SIP会话页面显示给用户a。
步骤303:用户a在SIP会话页面上输入用户b的号码,并点击拨号按钮。
步骤304:WEB浏览器的Java Applet程序检测到该点击动作,解析该动作,向中间件发送SIP INVITE消息,该消息中的SDP域包含Java Applet程序支持的所有编解码算法信息。
步骤305:中间件的消息处理器(Msg Processor)收到该SIP INVITE消息,将该消息经SIP协议栈(Stack)处理后发送给用户b的SIP-UA。
中间件发送的SIP INVITE消息通常要通过一个或多个SIP代理服务器转发给用户b的SIP-UA。
步骤306:用户b的SIP-UA收到该INVITE消息,向用户a的中间件返回100Trying消息。
步骤307:中间件收到该100Trying消息后,将该消息经SIP协议栈处理后发送给WEB浏览器上的Java Applet程序。
WEB浏览器上的Java Applet程序收到该100Trying消息后,可向用户a放等待提示音或在SIP会话页面上显示等待提示。
步骤308:用户b的SIP-UA处理INVITE消息,向用户b振铃,并向用户a的中间件发送180Ringing消息。
步骤309:中间件的Msg Processor收到该180Ringing消息,将该消息经SIP协议栈处理后发送给WEB浏览器上的Java Applet程序。
WEB浏览器上的Java Applet程序收到该180Ringing消息后,可继续向用户a放等待提示音或在SIP会话页面上显示等待提示。
步骤310:用户b的SIP-UA处理完该INVITE消息,向用户a的中间件返回200OK消息,该消息的SDP域中包含用户b的SIP-UA和用户a的Java Applet程序都支持的编解码算法信息。
步骤311:中间件收到该200OK消息,将该消息返回给WEB浏览器上的Java Applet程序。
步骤312:WEB浏览器上的Java Applet程序收到200OK消息,保存该消息携带的编解码算法信息,通过中间件向用户b的SIP-UA返回确认(ACK)消息,同时提示用户a呼叫已建立。
步骤313:用户b的SIP-UA接收到用户b的语音或视频数据,使用200OK消息中指示的编解码算法,对要发送的语音或视频数据进行编码后,封装成RTP报文发送给用户a的WEB浏览器上的Java Applet程序。
用户b的SIP-UA也可将RTP报文先发送给中间件,中间件的MsgProcessor收到该RTP报文后,将该RTP报文转发给WEB浏览器上的JavaApplet程序。
步骤314:WEB浏览器上的Java Applet程序收到该RTP报文后,使用200OK消息中指示的编解码算法对RTP报文中的语音或视频数据进行解码处理,将得到的语音或视频数据播放给用户a。
步骤315:WEB浏览器上的Java Applet程序接收到用户a的语音或视频数据,使用200OK消息中指示的编解码算法对语音或视频数据进行编码后,封装成RTP报文发送给用户b的SIP-UA。
同样,用户a的WEB浏览器上的Java Applet程序可将RTP报文先发送给中间件,中间件的Msg Processor收到该RTP报文后,将该报文转发给用户b的SIP-UA。
用户b的SIP-UA收到该RTP报文后,使用200OK消息中指示的编解码算法对RTP报文中的语音或视频数据进行解码处理,将得到的语音或视频数据提供给用户b。
步骤316:用户b的SIP-UA检测到用户b挂断,向用户a的中间件发送BYE消息,中间件的Msg Processor收到该消息后,将该消息经SIP协议栈处理后发送给WEB浏览器上的Java Applet程序;Java Applet程序收到该BYE消息后,通过中间件向用户b的SIP-UA返回200OK消息,并通过WEB浏览器提示用户a呼叫断开。
若用户a确定要挂断呼叫,则用户a在WEB浏览器的SIP会话页面上点击挂断按钮,WEB浏览器上的Java Applet程序检测到该点击动作,解析该动作,通过中间件向用户b的SIP-UA发送BYE消息,并在收到用户b的SIP-UA返回的200OK消息后,通过WEB浏览器的SIP会话页面提示用户a呼叫断开。
另外,本发明实施例中,中间件的Msg Processor在收到来自用户a或用户b的RTP报文后,可将该RTP报文携带的有效载荷(payload)部分即:编码后的语音或视频数据保存到WEB服务器的硬盘等存储空间上,以备用户a和用户b查询。此后,当用户a或b要查询该语音或视频数据时,可在WEB浏览器上点击该数据文件的链接,WEB浏览器检测到该点击动作后,向WEB服务器发送携带该数据文件索引信息的HTTP请求,然后WEB服务器根据该索引信息查找到对应的语音或视频数据,将该语音或视频数据通过HTTP响应返回给WEB浏览器,WEB浏览器通过播放器将该语音或视频数据播放给用户。
本发明实施例中,中间件的Msg Processor也可保存用户a和用户b的呼叫记录,例如:主叫号码、被叫号码、呼叫挂断时刻、呼叫持续时长等。Msg Processor将呼叫记录通过SQL消息发送给数据库,以备用户a和用户b查询。此后,当用户a或b要查询该呼叫记录时,可在WEB浏览器上点击该呼叫记录文件的链接,然后WEB浏览器向WEB服务器发送携带呼叫记录索引信息的HTTP请求,WEB服务器收到该HTTP请求后,向中间件发送携带该索引信息的呼叫记录查询请求,中间件收到该请求后,向数据库发送携带该索引信息的SQL消息,数据库根据该索引信息查找到对应的呼叫记录,将该呼叫记录通过SQL消息返回给中间件,中间件将该呼叫记录返回给WEB服务器,然后由WEB服务器将呼叫记录通过HTTP响应返回给WEB浏览器,WEB浏览器将该呼叫记录显示给用户。
图3所示实施例给出的是用户b端利用本发明实施例提供的方法即:通过WEB浏览器、WEB服务器及运行在该WEB服务器上的中间件实现SIP-UA,而用户a仍使用现有技术的SIP-UA的情况,该情况下的呼叫示意图可如图4所示,其中,用户a的中间件与用户b的SIP-UA之间交互的SIP消息通常要通过SIP服务器如:代理服务器、注册服务器、重定向服务器的转发。
图5为本发明实施例二提供的用户之间通过SIP-UA实现呼叫的典型消息流程示意图,在本实施例中,用户a和用户b都使用本发明实施例提供的通过WEB浏览器、WEB服务器和中间件实现的SIP-UA,如图5所示,其具体步骤如下:
步骤501:用户a确定要呼叫用户b,在第一WEB浏览器上点击运行第一中间件的第一WEB服务器的链接,第一WEB浏览器检测到该点击动作,向第一WEB服务器发送携带第一WEB服务器地址信息的HTTP请求。
步骤502:第一WEB服务器收到该HTTP请求,向第一WEB浏览器返回携带SIP会话页面的HTTP响应,第一WEB浏览器收到该HTTP响应,将该响应携带的SIP会话页面显示给用户a。
步骤503:用户a在SIP会话页面上输入用户b的号码,并点击拨号按钮。
步骤504:第一WEB浏览器的Java Applet程序检测到该点击动作,解析该动作,向第一中间件发送SIP INVITE消息,该消息中的SDP域包含JavaApplet程序支持的所有编解码算法信息。
步骤505:第一中间件的Msg Processor收到该SIP INVITE消息,将该消息经SIP协议栈处理后经SIP代理服务器发送给用户b的第二中间件。
第一中间件发送的SIP INVITE消息通常要通过SIP代理服务器转发给用户b的第二中间件。
SIP代理服务器上保存有用户号码信息与中间件的URL信息的对应关系,当SIP代理服务器收到INVITE消息后,可根据该对应关系,查找到该消息中的用户b号码对应的中间件的URL信息,从而将该INVITE消息转发给用户b的第二中间件。
步骤506:用户b的第二中间件的Msg Processor收到该INVITE消息,将该INVITE消息经SIP协议栈处理后发送给第二WEB浏览器的Java Applet程序,第二WEB浏览器的Java Applet程序收到该INVITE消息后,通过第二中间件向用户a的第一中间件返回100Trying消息。
当用户登录WEB浏览器后,WEB浏览器会将自身的IP地址和用户号码信息发送给中间件。因此,本步骤中,用户b的第二中间件可根据第二WEB浏览器发来的IP地址和用户b的号码,以及INVITE消息中的用户b的号码,将该INVITE消息发送给与所述用户b号码对应的IP地址指向的第二WEB浏览器。
步骤507:用户a的第一中间件收到该100Trying消息后,将该消息经SIP协议栈处理后发送给第一WEB浏览器的Java Applet程序。
步骤508:用户b的Java Applet程序处理INVITE消息,向用户b振铃,并通过第二中间件向用户a的第一中间件发送180Ringing消息。
步骤509:用户a的第一中间件的Msg Processor收到该180Ringing消息,将该消息经SIP协议栈处理后发送给第一WEB浏览器的Java Applet程序。
步骤510:第二WEB浏览器的Java Applet程序处理完该INVITE消息,通过第二中间件向用户a的第一中间件返回200OK消息,该消息的SDP域中包含用户b的Java Applet程序和用户a的Java Applet程序都支持的编解码算法信息。
步骤511:用户a的第一中间件收到该200OK消息,将该消息返回给第一WEB浏览器的Java Applet程序。
步骤512:第一WEB浏览器的Java Applet程序收到200OK消息,保存该消息携带的编解码算法信息,通过第一中间件、第二中间件向第二WEB浏览器的Java Applet程序返回ACK消息,同时提示用户a呼叫已建立。
步骤513:第二WEB浏览器的Java Applet程序接收到用户b的语音或视频数据,使用200OK消息中指示的编解码算法,对要发送的语音或视频数据进行编码后,封装成RTP报文发送给第一WEB浏览器的Java Applet程序。
第二WEB浏览器的Java Applet程序也可将RTP报文先发送给第二中间件,第二中间件的Msg Processor收到该RTP报文后,将该RTP报文经第一中间件的Msg Processor转发给第一WEB浏览器的Java Applet程序。
步骤514:第一WEB浏览器的Java Applet程序收到该RTP报文后,使用200OK消息中指示的编解码算法对RTP报文中的语音或视频数据进行解码处理,将得到的语音或视频数据播放给用户a。
步骤515:第一WEB浏览器的Java Applet程序接收到用户a的语音或视频数据,使用200OK消息中指示的编解码算法对语音或视频数据进行编码后,封装成RTP报文发送给第二WEB浏览器的Java Applet程序。
同样,第一WEB浏览器的Java Applet程序可将RTP报文先发送给第一中间件,第一中间件的Msg Processor收到该RTP报文后,将该报文通过第二中间件的Msg Processor转发给第二WEB浏览器的Java Applet程序。
第二WEB浏览器的Java Applet程序收到该RTP报文后,使用200OK消息中指示的编解码算法对RTP报文中的语音或视频数据进行解码处理,将得到的语音或视频数据提供给用户b。
步骤516:用户a确定要挂断呼叫,则用户a在第一WEB浏览器的SIP会话页面上点击挂断按钮,第一WEB浏览器的Java Applet程序检测到该点击动作,解析该动作,通过第一中间件、第二中间件向用户b的Java Applet程序发送BYE消息,并在收到用户b的Java Applet程序返回的200OK消息后,通过第一WEB浏览器的SIP会话页面提示用户a呼叫断开。
同样,若用户b确定要挂断呼叫,则用户b在第二WEB浏览器的SIP会话页面上点击挂断按钮,第二WEB浏览器的Java Applet程序检测到该点击动作,解析该动作,通过第二中间件、第一中间件向用户a的Java Applet程序发送BYE消息,并在收到用户a的Java Applet程序返回的200OK消息后,通过第二WEB浏览器的SIP会话页面提示用户b呼叫断开。这里,与用户a相似,用户b可通过与步骤501~502相似的步骤获得第二WEB服务器提供的SIP会话页面。
从图5所示实施例可以看出,可以同时存在多个WEB服务器及其运行在该服务器上的中间件来实现SIP-UA,用户可选择其中的一个WEB服务器及其运行在该服务器上的中间件来实现SIP-UA。
图5所示实施例给出的是用户a和b端都利用本发明实施例提供的方法即:通过WEB浏览器、WEB服务器及运行在该WEB服务器上的中间件实现SIP-UA的情况,该情况下的呼叫示意图可如图6所示,如图6所示,第一中间件和第二中间件之间交互的SIP消息要通过SIP服务器如:代理服务器、注册服务器或重定向服务器的转发。在图5所示实施例中,用户a和用户b是通过不同的WEB服务器及其运行在该WEB服务器上的中间件实现各自的SIP-UA的,在实际应用中,用户a和用户b也可能通过同一个WEB服务器及其运行在该WEB服务器上的中间件实现各自的SIP-UA,该情况下的呼叫示意图如图7所示,由于在用户a和用户b登录各自的WEB浏览器:第一WEB浏览器、第二WEB浏览器后,第一WEB浏览器和第二WEB浏览器会分别将自身的IP地址和用户a、b的号码信息发送给中间件,因此中间件在收到SIP消息后,会根据该消息中携带的该消息要发往用户的号码及其自身保存的WEB浏览器的IP地址和用户号码的对应关系,将该SIP消息发送给对应的WEB浏览器。
图8是本发明实施例提供的SIP-UA的结构示意图,如图8所示,其主要包括:WEB浏览器81、WEB服务器82和中间件83,其中:
WEB浏览器81:检测到任意一个用户点击运行中间件的WEB服务器82的链接,向WEB服务器82发送携带WEB服务器地址信息的HTTP请求,接收WEB服务器82返回的携带SIP会话页面的HTTP响应,将该SIP会话页面显示给用户;检测到用户点击拨号按钮,将用户输入的号码携带在SIPINVITE消息中发送给中间件83;接收中间件83发来的SIP呼叫消息,将与该消息相关的信息提示给用户;接收到用户发来的语音或视频数据,将该数据封装成RTP报文发送给中间件83或目标SIP用户的SIP-UA;接收到中间件83或目标SIP用户的SIP-UA发来的RTP报文,对该报文中的语音或视频数据进行解码处理,将得到的语音或视频数据提供给用户。
本发明实施例中,WEB浏览器81还可用于,检测到用户点击语音或视频数据的链接,向WEB服务器82发送携带该数据文件索引信息的HTTP请求,接收WEB服务器82返回的HTTP响应,将该响应携带语音或视频数据通过播放器播放给用户。
WEB服务器82:接收WEB浏览器81发来的携带自身地址信息的HTTP请求,将SIP会话页面携带在HTTP响应中返回给WEB浏览器81。
本发明实施例中,WEB服务器82还可用于,接收到WEB浏览器81发来的携带语音或视频数据文件索引信息的HTTP请求,将自身存储的与该索引信息对应的语音或视频数据通过HTTP响应发送给WEB浏览器81。
中间件83:接收WEB浏览器81发来的SIP呼叫消息,将该消息经SIP协议栈处理后发送给SIP服务器或其它中间件;接收SIP服务器或其它中间件发来的SIP呼叫消息,将该消息经SIP协议栈处理后发送给WEB浏览器81;接收WEB浏览器81发来的RTP报文,将该RTP报文发送给SIP服务器或其它中间件;接收SIP服务器或其它中间件发来的RTP报文,将该RTP报文发送给WEB浏览器81。
本发明实施例中,中间件83还可用于,将接收到的RTP报文中的语音或视频数据存储在WEB服务器82的硬盘等存储空间中。
本发明实施例提供的SIP-UA还可包括:数据库84,用于接收中间件83发来的携带呼叫记录的SQL消息,保存该消息携带的呼叫记录;接收到中间件83发来的携带呼叫记录索引信息的SQL消息,根据该呼叫记录索引信息,查找到对应的呼叫记录,将该呼叫记录通过SQL消息发送给中间件83。
对应地,中间件83还可用于,将呼叫记录通过SQL消息发送给数据库84,接收WEB服务器82发来的呼叫记录查询请求,向数据库84发送携带呼叫记录索引信息的SQL消息,将数据库84返回的呼叫记录发送给WEB服务器82。
对应地,WEB浏览器81还可用于,检测到用户点击呼叫记录的链接,向WEB服务器82发送携带呼叫记录索引信息的HTTP请求,接收WEB服务器82返回的HTTP响应,将该响应携带的呼叫记录显示给用户。
对应地,WEB服务器82还可用于,接收到WEB浏览器81发来的携带呼叫记录索引信息的HTTP请求,向中间件83发送携带该索引信息的呼叫记录查询请求,接收中间件83返回的呼叫记录,将该呼叫记录携带在HTTP响应中发送给WEB浏览器81。
如图8所示,中间件83主要包括:Msg Processor831和SIP协议栈832,其中:
Msg Processor831:接收WEB浏览器81发来的SIP呼叫消息,将该消息发送给SIP协议栈832,接收SIP协议栈返回的SIP呼叫消息,将该SIP呼叫消息发送给SIP服务器或其它中间件;接收SIP服务器或其它中间件发来的SIP呼叫消息,将该消息发送给SIP协议栈832,接收SIP协议栈832返回的SIP呼叫消息,将该消息发送给WEB浏览器81;接收WEB浏览器81发来的RTP报文,将该RTP报文发送给SIP服务器或其它中间件;接收SIP服务器或其它中间件发来的RTP报文,将该RTP报文发送给WEB浏览器81;将呼叫记录通过SQL消息发送给数据库84,接收WEB服务器82发来的呼叫记录查询请求,向数据库84发送携带呼叫记录索引信息的SQL消息,将数据库84返回的呼叫记录发送给WEB服务器82;将接收到的RTP报文中的语音或视频数据存储在WEB服务器82的硬盘等存储空间中。
SIP协议栈832:接收Msg Processor831发来的SIP呼叫消息,对该消息进行SIP处理,将处理后的消息返回给Msg Processor831。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1、一种会话发起协议SIP呼叫方法,其特征在于,包括:
中间件检测到任意用户发起SIP呼叫,对SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户;接收到目标SIP用户发来的SIP呼叫消息,对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户。
2、如权利要求1所述的方法,其特征在于,所述中间件检测到任意用户发起SIP呼叫之前进一步包括:
WEB浏览器与运行中间件的WEB服务器建立链接,链接成功,WEB服务器向WEB浏览器返回SIP会话页面;WEB浏览器检测到任意用户通过SIP会话页面发起SIP呼叫,向中间件发送SIP呼叫消息。
3、如权利要求2所述的方法,其特征在于,所述中间件对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户之后进一步包括:
WEB浏览器接收到所述发起SIP呼叫的用户发来的语音或视频数据,将该语音或视频数据封装成实时传输协议RTP报文后发送给目标SIP用户。
4、如权利要求3所述的方法,其特征在于,所述WEB浏览器将语音或视频数据封装成RTP报文后发送给目标SIP用户包括:WEB浏览器将语音或视频数据封装成RTP报文后发送给中间件,中间件收到该报文后,将该报文转发给目标SIP用户。
5、如权利要求4所述的方法,其特征在于,所述中间件收到该报文之后进一步包括:中间件将该报文携带的语音或视频数据存储在WEB服务器上;
WEB浏览器检测到用户点击语音或视频数据链接,向WEB服务器发送超文本传输协议HTTP请求,WEB服务器收到该HTTP请求,将存储的语音或视频数据通过HTTP响应返回给WEB浏览器,WEB浏览器将该语音或视频数据通过播放器播放给用户。
6、如权利要求2所述的方法,其特征在于,所述中间件对该SIP呼叫消息经SIP协议栈处理后提供给所述发起SIP呼叫的用户包括:中间件对该SIP呼叫消息经SIP协议栈处理后,将该消息发送给所述发起SIP呼叫的用户访问的WEB浏览器。
7、如权利要求2所述的方法,其特征在于,所述方法进一步包括:中间件将本次呼叫记录存储在数据库中;
WEB浏览器检测到用户点击呼叫记录链接,向WEB服务器发送HTTP请求,WEB服务器收到该HTTP请求,向中间件发送呼叫记录查询请求,中间件根据该请求从数据库获取到呼叫记录,将该呼叫记录返回给WEB服务器,WEB服务器将该呼叫记录通过HTTP响应返回给WEB浏览器,WEB浏览器将该呼叫记录显示给用户。
8、如权利要求1所述的方法,其特征在于,所述中间件对该SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户为:中间件将该经SIP协议栈处理的SIP呼叫消息发送给目标SIP用户的SIP-UA。
9、如权利要求1所述的方法,其特征在于,所述中间件对该SIP呼叫消息经SIP协议栈处理后发送给目标SIP用户为:中间件将该经SIP协议栈处理的SIP呼叫消息发送给目标SIP用户访问的中间件。
10、一种中间件,其特征在于,包括:消息处理器和SIP协议栈,其中:
消息处理器,检测到任意用户发起SIP呼叫,将SIP呼叫消息发送给SIP协议栈,接收SIP协议栈返回的SIP呼叫消息,将该消息发送给目标SIP用户;接收目标SIP用户发来的SIP呼叫消息,将该消息发送给SIP协议栈,接收SIP协议栈返回的SIP呼叫消息,将该SIP呼叫消息提供给所述发起SIP呼叫的用户;
SIP协议栈,接收消息处理器发来的SIP呼叫消息,对该消息进行SIP协议处理,将处理后的SIP呼叫消息返回给消息处理器。
11、如权利要求10所述的中间件,其特征在于,所述消息处理器进一步用于,接收所述发起SIP呼叫的用户发来的RTP报文,将该RTP报文发送给目标SIP用户;接收目标SIP用户发来的RTP报文,将该RTP报文提供给所述发起SIP呼叫的用户。
12、如权利要求10所述的中间件,其特征在于,所述消息处理器进一步将本次呼叫记录存储到数据库上,检测到用户发起呼叫记录查询请求,从数据库获取呼叫记录,将该呼叫记录提供给用户。
13、一种SIP-UA,其特征在于,包括:WEB浏览器、WEB服务器和中间件,其中:
WEB浏览器,与运行中间件的WEB服务器建立链接,接收WEB服务器发来的SIP会话页面,检测到任意用户通过SIP会话页面发起SIP呼叫,与中间件交互SIP呼叫消息;将发起SIP呼叫的用户发来的语音或视频数据封装成RTP报文发送给目标SIP用户;
WEB服务器,向WEB浏览器返回SIP会话页面;
中间件,接收WEB浏览器或目标SIP用户发来的SIP呼叫消息,将该消息经SIP协议栈处理后发送给目标SIP用户或WEB浏览器。
14、如权利要求13所述的SIP-UA,其特征在于,所述SIP-UA进一步包括:数据库,接收并保存中间件发来的呼叫记录;
且,所述中间件进一步将本次呼叫记录发送给所述数据库,接收到WEB服务器发来的呼叫记录查询请求,从数据库获取呼叫记录,将该呼叫记录返回给WEB服务器;
所述WEB服务器收到WEB浏览器发来的指示呼叫记录查询的HTTP请求,向中间件发送呼叫记录查询请求,将中间件返回的呼叫记录通过HTTP响应返回给WEB浏览器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710106132A CN100596146C (zh) | 2007-05-24 | 2007-05-24 | 会话发起协议呼叫方法、中间件及会话发起协议用户代理 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710106132A CN100596146C (zh) | 2007-05-24 | 2007-05-24 | 会话发起协议呼叫方法、中间件及会话发起协议用户代理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101052048A true CN101052048A (zh) | 2007-10-10 |
CN100596146C CN100596146C (zh) | 2010-03-24 |
Family
ID=38783237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710106132A Expired - Fee Related CN100596146C (zh) | 2007-05-24 | 2007-05-24 | 会话发起协议呼叫方法、中间件及会话发起协议用户代理 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100596146C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123154A (zh) * | 2011-03-17 | 2011-07-13 | 北京邮电大学 | 一种sip终端及其会话处理方法 |
CN101262372B (zh) * | 2008-04-15 | 2011-08-10 | 北京华纬讯电信技术有限公司 | 基于sip服务器集群的视频监控平台操控前端设备的方法 |
CN101534312B (zh) * | 2009-04-29 | 2012-09-12 | 迈普通信技术股份有限公司 | 基于初始会话协议的点击拨号代理呼叫方法及装置 |
CN107295004A (zh) * | 2017-07-21 | 2017-10-24 | 881飞号通讯有限公司 | 一种基于网页通信插件实现的网络语音通信方法及系统 |
-
2007
- 2007-05-24 CN CN200710106132A patent/CN100596146C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262372B (zh) * | 2008-04-15 | 2011-08-10 | 北京华纬讯电信技术有限公司 | 基于sip服务器集群的视频监控平台操控前端设备的方法 |
CN101534312B (zh) * | 2009-04-29 | 2012-09-12 | 迈普通信技术股份有限公司 | 基于初始会话协议的点击拨号代理呼叫方法及装置 |
CN102123154A (zh) * | 2011-03-17 | 2011-07-13 | 北京邮电大学 | 一种sip终端及其会话处理方法 |
CN102123154B (zh) * | 2011-03-17 | 2015-07-08 | 北京邮电大学 | 一种sip终端及其会话处理方法 |
CN107295004A (zh) * | 2017-07-21 | 2017-10-24 | 881飞号通讯有限公司 | 一种基于网页通信插件实现的网络语音通信方法及系统 |
CN107295004B (zh) * | 2017-07-21 | 2020-09-25 | 881飞号通讯有限公司 | 一种基于网页通信插件实现的网络语音通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100596146C (zh) | 2010-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1236593C (zh) | 网络系统以及网络控制方法 | |
CN1543167A (zh) | 利用会话发起协议的终端注册方法 | |
CN1656789A (zh) | 基于接收终端性能及偏好的sip消息的适配系统 | |
CN1421008A (zh) | 基于会话启动协议的特征控制 | |
CN1801862A (zh) | 在ims网络中向用户装置提供多媒体回铃服务的方法和设备 | |
CN1852358A (zh) | 一种控制业务多次前转套打的方法 | |
CN1393090A (zh) | 形成多媒体流式传输对话的方法 | |
CN1520197A (zh) | 在分组电话网络中实现呼叫处理的方法和装置 | |
CN1889609A (zh) | 一种电话会议实现方法 | |
CN1993947A (zh) | 在混合电信网络中提供相关手段的方法及装置 | |
CN1234256C (zh) | 移动通信终端、网络装置、移动通信系统、及信息发送接收方法 | |
CN1756213A (zh) | P2p及udp、tcp类型和多策略的p2p连接建立方法 | |
CN1794707A (zh) | 即时消息系统间的搜索方法和互连服务器 | |
CN1909686A (zh) | 一种实现多媒体彩铃音业务的系统及方法 | |
CN1870691A (zh) | 网络互通时主叫用户终端听被叫信号音的方法 | |
CN1835455A (zh) | 中继装置、中继方法及中继程序 | |
CN1700694A (zh) | 获取会话初始协议网络节点状态的方法及系统 | |
CN101030931A (zh) | 一种业务数据的传输方法及其所应用的分组终端 | |
CN101031097A (zh) | 实现回铃音业务的方法、系统及装置 | |
CN101043396A (zh) | 建立订阅对话的方法及订阅用户事件的方法 | |
CN101052048A (zh) | 会话发起协议呼叫方法、中间件及会话发起协议用户代理 | |
CN1889565A (zh) | 会话建立方法 | |
CN1662004A (zh) | 一种实现会话发起协议应用服务器多业务处理的方法 | |
CN1787632A (zh) | 在不同类型的用户代理之间发送视频信号的方法和系统 | |
CN1968218A (zh) | 实现点击拨号的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd. Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310 Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100324 |