SIP终端及其通话方法、VoIP语音通话方法
技术领域
本发明涉及通信领域,具体涉及一种SIP终端及其通话方法、VoIP语音通话方法。
背景技术
目前基于SIP(Session Initiation Protocol)协议的IMS或NGN网络环境,通信双方的SIP终端在VoIP(Voice over Internet Protocol)语音通话过程中,当一方的SIP终端关机后再摘机时,要继续之前的通话业务时,则其摘机的时间距离其挂机的时间必须小于设定的延迟时间,否则,该会话则会因超时而终止,再摘机时,则只能发起新的会话。另外,现有对于挂机的SIP终端在此次VoIP语音通话过程中的角色也有限定,只能是主叫终端挂机后在该延迟时间内再摘机才能继续之前的通话业务,或只能是被叫终端挂机后在该延迟时间内再摘机才能继续之前的通话业务。可见,现有的VoIP语音通话终止机制依赖于设定的延迟时间并受主、被叫角色限制,不能较好的满足用户的实际应用需求;例如,当用户在VoIP语音通话过程中误挂机时,如果该用户的SIP终端不是对应的主叫或被叫角色,则只能重新发起会话流程;又例如,对于各种交易所的用户,其可能作为通话中的任意方,且由于保密等原因还需在不确定时间内挂机去执行或实施其它事情,并不能保证在延迟时间内再摘机;等等。对于这些用户所处的实际应用场景,现有的VoIP语音通话终止机制都不能较好的满足用户的实际需求,降低了用户体验的满意度。
发明内容
本发明要解决的主要技术问题是,提供一种SIP终端及其VoIP语音通话方法,解决现有VoIP语音通话终止机制依赖于延迟时间并受主、被叫角色限制,不能很好的满足用户的实际应用需求的问题。
为了解决上述问题,本发明提供了一种VoIP语音通话方法,所述方法包括:
第一SIP终端和第二SIP终端建立VoIP语音通话;
所述第二SIP终端挂机,向处于摘机状态的第一SIP终端发送挂机通知,并保留本端与所述第一SIP终端进行所述VoIP语音通话的通话资源;
所述第一SIP终端在摘机状态下接收所述第二SIP终端发送的挂机通知,保持与所述第二SIP终端的VoIP语音通话;
所述第二SIP终端摘机,向处于摘机状态的第一SIP终端发送摘机通知;
所述第一SIP终端在摘机状态下收到所述第二SIP终端发送的摘机通知后,与所述第二SIP终端继续所述VoIP语音通话。
在本发明的一种实施例中,所述第一SIP终端在摘机状态下接收到所述第二SIP终端发送的挂机通知后,还包括将所述第二SIP终端的状态更新为挂机状态;
所述第一SIP终端在摘机状态下接收到所述第二SIP终端发送的摘机通知后,还包括将所述第二SIP终端的状态更新为摘机状态。
在本发明的一种实施例中,所述方法还包括,处于摘机状态的所述第一SIP终端在所述第二SIP终端处于挂机状态时挂机以终止所述VoIP语音通话。
在本发明的一种实施例中,所述方法还包括,所述第一SIP终端与所述第二SIP终端在VoIP语音通话过程中,所述第一SIP终端和/或所述第二SIP终端拨打通话终止号码,终止所述VoIP语音通话。
在本发明的一种实施例中,所述第一SIP终端和/或所述第二SIP终端通过拍叉簧拨打通话终止号码。
为了解决上述问题,本发明还提供了一种SIP终端通话方法,所述方法包括:
第一SIP终端和第二SIP终端建立VoIP语音通话;
所述第一SIP终端在摘机状态下接收所述第二SIP终端发送的挂机通知,保持与所述第二SIP终端的VoIP语音通话;
所述第一SIP终端在摘机状态下收到所述第二SIP终端发送的摘机通知后,与所述第二SIP终端继续所述VoIP语音通话。
为了解决上述问题,本发明还提供了一种SIP终端通话方法,所述方法包括:
第二SIP终端和第一SIP终端建立VoIP语音通话;
所述第二SIP终端挂机,向处于摘机状态的第一SIP终端发送挂机通知,并保留本端与所述第一SIP终端进行所述VoIP语音通话的通话资源;
所述第二SIP终端摘机,向处于摘机状态的第一SIP终端发送摘机通知,与所述第一SIP终端继续所述VoIP语音通话。
为了解决上述问题,本发明还提供了一种SIP终端,所述SIP终端包括通话模块;
所述通话模块用于与第二SIP终端建立VoIP语音通话,以及用于在所述SIP终端处于摘机状态下接收到所述第二SIP终端发送的挂机通知后,保持与所述第二SIP终端的VoIP语音通话;
所述通话模块还用于在所述SIP终端处于摘机状态下接收所述第二SIP终端发送的摘机通知后,与所述第二SIP终端继续所述VoIP语音通话。
在本发明的一种实施例中,所述SIP终端还包括状态记录模块;
所述状态记录模块用于在所述通话模块接收到所述挂机通知后,将所述第二SIP终端的状态更新为挂机状态;和/或用于在所述通话模块收到所述摘机通知后,将所述第二SIP终端的状态更新为摘机状态。
在本发明的一种实施例中,所述SIP终端还包括终止通话模块;
所述终止通话模块用于在所述通话模块与所述第二SIP终端进行VoIP语音通话的过程中,拨打通话终止号码,终止所述VoIP语音通话。
在本发明的一种实施例中,所述SIP终端还包括挂机检测模块和摘机检测模块;
所述挂机检测模块用于检测所述SIP终端在所述第二SIP终端处于摘机状态时是否挂机,如是,向所述通话模块发送挂机通知;
所述摘机检测模块用于检测所述SIP终端在所述第二SIP终端处于摘机状态时是否摘机,如是,向所述通话模块发送摘机通知;
所述通话模块还用于将所述挂机通知发送给所述第二SIP终端,并保留所述SIP终端与所述第二SIP终端进行所述VoIP语音通话的通话资源;以及将所述摘机通知发送给所述第二SIP终端,继续与所述第二SIP终端的所述VoIP语音通话。
在本发明的一种实施例中,所述挂机检测模块还用于在所述第二SIP终端处于挂机状态检测到所述SIP终端挂机时,通知所述通话模块终止与所述第二SIP终端的VoIP语音通话。
为了解决上述问题,本发明还提供了一种SIP终端,所述SIP终端包括挂机检测模块、通话模块和摘机检测模块;
所述通话模块用于与第二SIP终端建立VoIP语音通话;还用于将所述挂机检测模块发送的挂机通知发送给所述第二SIP终端,并保留所述SIP终端与所述第二SIP终端进行所述VoIP语音通话的通话资源;以及将所述摘机检测模块发送的摘机通知发送给所述第二SIP终端,继续与所述第二SIP终端的所述VoIP语音通话;
所述挂机检测模块用于检测所述SIP终端在所述第二SIP终端处于摘机状态时是否挂机,如是,向所述通话模块发送挂机通知;
所述摘机检测模块用于检测所述SIP终端在所述第二SIP终端处于摘机状态时是否摘机,如是,向所述通话模块发送摘机通知。
本发明的有益效果是:
本发明提供的SIP终端及其VoIP语音通话方法,当第一SIP终端和第二SIP终端建立VoIP语音通话后,其中一方挂机时,会向处于摘机状态的另一方发送挂机通知,并保留本端进行该VoIP语音通话的通话资源;这样处于摘机状态的另一方即可得知对方已挂机但保留了该VoIP语音通话的通话资源,而不用去设定延迟时间或设定主、被叫角色;当挂机的一方再摘机时,由于其保留了通话资源,因此可向通信的另一方发送摘机通知,以继续与其之前进行的VoIP语音通话;可见,本发明提供的方案,通信双方的SIP终端在挂机和摘机时会向对方发送相应的通知,并在挂机时可保留当前会话所用的资源,以留待后续摘机继续之前进行的VoIP语音通话使用,并不依赖于延时时间的设定,也并不受主、被叫角色限制,主叫用户或被叫用户理论上可在任意时间段内再摘机继续该通话,可很好的满足用户在各种应用场景的实际需求,提高用户体验的满意度。
附图说明
图1为本发明实施例一提供的SIP终端的结构示意图一;
图2为本发明实施例一提供的SIP终端的结构示意图二;
图3为本发明实施例一提供的SIP终端的结构示意图三;
图4为本发明实施例一提供的SIP终端的结构示意图四;
图5为本发明实施例二提供的VoIP语音通话流程示意图一;
图6为本发明实施例二提供的VoIP语音通话流程示意图二;
图7为本发明实施例二提供的VoIP语音通话流程示意图三;
图8为本发明实施例二提供的VoIP语音通话流程示意图四。
具体实施方式
为了更好的理解本发明,下面结合具体的实施例对本发明做进一步的说明:
实施例一:
本实施例中,通信双方的SIP终端建立VoIP语音通话后,其中一方挂机时,会向处于摘机状态的另一方发送挂机通知,并保留本端进行该VoIP语音通话的通话资源;处于摘机状态的另一方则可得知对方已挂机但保留了该VoIP语音通话的通话资源,并保持与对方的VoIP语音通话;当挂机的一方再摘机时,由于其保留了通话资源,因此可向处于摘机状态的另一方发送摘机通知,继续原有的通话;因此主叫用户或被叫用户理论上可在任意时间段内再摘机,只要未挂断的一方一直除以摘机状态就能继续该通话,可很好的满足用户在各种应用场景的实际需求,而不受延时时间,主、被叫角色的限制。下面对本实施例所涉及的SIP终端进行详细说明。
请参见图1所示,该图所示为本实施例提供的SIP终端的结构示意图,该SIP终端在VoIP语音通话中,可作为主叫方发起主叫主被叫方建立VoIP语音通话;也可作为被叫方,接收主叫方的邀请建议VoIP语音通话。为了表述方便,下面称图1所示的SIP终端为第一SIP终端,与该第一SIP终端进行VoIP语音通话的对端的SIP终端为第二SIP终端。如图1所示,第一SIP终端包括通话模块,其中:
通话模块用于与第二SIP终端建立VoIP语音通话;本实施例中第一SIP终端和第二SIP终端之间可以是端到端呼叫,也可以是经过软交换的完整的VoIP呼叫;当经过软交换的完整的VoIP呼叫时,经过的软交换服务器要能够透传第一SIP终端和第二SIP终端之间的各种通知消息;
通话模块还用于在第一SIP终端处于摘机状态下接收到第二SIP终端发送的挂机通知后,保持与第二SIP终端的VoIP语音通话,第二SIP终端此时则需保留进行该VoIP语音通话的资源;以及还用于在第一SIP终端处于摘机状态下接收到第二SIP终端发送的摘机通知后,与第二SIP终端继续所述VoIP语音通话。
请参见图2所示,为了更便于判断通信对端的SIP终端当前的状态,本实施例中的第一SIP终端还可包括状态记录模块;该状态记录模块用于在通话模块接收到上述挂机通知后,将第二SIP终端的状态更新为挂机状态;和/或用于在通话模块收到上述摘机通知后,将第二SIP终端的状态更新为摘机状态;即,本实施例中,通信双方的SIP终端可实时更新对端的SIP终端的当前状态,以供其在挂机操作时参考;例如,当第一SIP终端挂机时,根据该记录得知第二SIP终端当前也处于挂机状态,则第一SIP终端明确如果其挂机,则会直接终止该VoIP语音通话;当根据该记录得知第二SIP终端当前处于摘机状态,而第一SIP终端又欲在后续时刻继续该VoIP语音通话时,第一SIP终端则可向第二SIP终端发送挂机通知,并保留进行该VoIP语音通话的通话资源,以留待后续继续该通话使用。
本实施例中,在第一SIP终端和第二SIP终端在VoIP语音通话中,当其中一方想直接终止该通话时,可直接拨打通话终止号码,以释放本端进行该VoIP语音通话的资源,终止该VoIP语音通话。本实施例中的通话终止号码可以是设定的特殊的业务号码,具体可通过拍叉簧拨打设定的特殊业务键实现;此时该端的SIP终端会向对端的SIP终端发送BYE信令结束会话。请参见图3所示,为了实现上述功能,本实施例中的第一SIP终端还包括终止通话模块;该终止通话模块用于在收到叉簧和通话终止号码时,通知通话模块在第一SIP的通话模块与第二SIP终端进行VoIP语音通话时,拍叉簧拨打上述通话终止号码,通知通话模块结束该VoIP语音通话。
可见,在本实施例中,当通话双方都挂机时,可结束双方之间的VoIP语音通话;当在VoIP语音通话过程中,一方主动拍叉簧拨打通话终止号码时,也能主动结束二者之间的VoIP语音通话;因此用户可更灵活的根据自身实际应用场景控制对当前进行的VoIP语音通话进行控制。
通过上面的分析可知,本实施例中的第一SIP终端在于第二SIP终端进行VoIP语音通话过程中,第一SIP终端也可主动挂断并保存当前进行VoIP语音通话的资源;然后再摘机时,与第二SIP终端继续之前的VoIP语音通话。对应的,请参见图4所示,本实施例中的第一SIP终端还可包括挂机检测模块和摘机检测模块,其中:
挂机检测模块用于检测第一SIP终端在第二SIP终端处于摘机状态时是否进行了挂机操作,如是,向第一SIP终端的通话模块发送挂机通知;
第一SIP终端的通话模块将所述挂机通知发送给所述第二SIP终端,并保留所述SIP终端与所述第二SIP终端进行所述VoIP语音通话的通话资源;
摘机检测模块用于检测第一SIP终端在第二SIP终端处于摘机状态时是否进行了摘机操作,如是,向第一SIP终端的通话模块发送摘机通知;
第一SIP终端的通话模块还用于将所述摘机通知发送给所述第二SIP终端,继续与所述第二SIP终端的所述VoIP语音通话。
第一SIP终端的挂机检测模块还用于在第二SIP终端处于挂机状态检测到第一SIP终端挂机时,通知通话模块终止与第二SIP终端的VoIP语音通话;具体为:通话模块接收到挂机检测模块发送的第一SIP终端挂机后,查询状态记录模块,确定此时第二SIP终端也处于挂机状态时,终止与第二SIP终端的VoIP语音通话;否则将该挂机通知发送给第二SIP终端,并保留第一SIP终端与第二SIP终端进行该VoIP语音通话的通话资源;以留待后续继续通话的流程中使用。
值得注意的是,本实施例中的第二SIP终端也可包括第一SIP终端所包括的所有功能模块;且第一SIP终端和第二SIP终端在VoIP语音通话中的主、被叫角色没有任何限制。本实施例中的第一SIP终端和第二SIP终端可为SIP软终端,也可为SIP硬终端。
另外,本实施例中第一SIP终端和第二SIP终端之间各种通知消息发送的具体方式都可根据实际应用场景选择设置。为了更好的理解本发明,下面结合具体的方法流程为例,对本发明做进一步的说明。
实施例二:
在本实施例中,为了便于表述和理解,仍以通信双方的SIP终端为第一SIP终端和第二SIP终端进行描述,请参见图5所示,在该VoIP语音通话中,第一SIP终端执行的步骤包括:
步骤501:第一SIP终端和第二SIP终端建立VoIP语音通话;第一SIP终端可作为主叫终端与第二SIP终端建立VoIP语音通话,也可作为被叫终端与第二SIP终端建立VoIP语音通话;
步骤502:第一SIP终端在摘机状态下接收所第二SIP终端发送的挂机通知;
步骤503:第一SIP终端保持与第二SIP终端的VoIP语音通话,并可更新本端记录的第二SIP终端的状态,例如,将其更新为挂机状态;
步骤504:第一SIP终端在摘机状态下收到第二SIP终端发送的摘机通知后,继续与该第二SIP终端的VoIP语音通话。
当然,在第一SIP终端与第二SIP终端在VoIP语音通话过程中,当二者都处于摘机状态时,第一SIP终端和/或第二SIP终端还可通过拍叉簧拨打通话终止号码,终止二者之间的VoIP语音通话。
另外,第一SIP终端在第二SIP终端处于挂机状态时,第一SIP终端也可通过主动挂机以终止二者之间的VoIP语音通话。
请参见图6所示,在该VoIP语音通话中,第二SIP终端执行的步骤包括:
步骤601:第二SIP终端和第一SIP终端建立VoIP语音通话;第二SIP终端可作为主叫终端与第一SIP终端建立VoIP语音通话,也可作为被叫终端与第一SIP终端建立VoIP语音通话;
步骤602:第二SIP终端挂机,向处于摘机状态的第一SIP终端发送挂机通知,并保留本端与所述第一SIP终端进行所述VoIP语音通话的通话资源;
步骤603:第二SIP终端摘机,向处于摘机状态的第一SIP终端发送摘机通知;
步骤604:第一SIP终端和第二SIP终端继续原有VoIP通话。
值得注意的是,本实施例中第一SIP终端所执行的上述步骤也可由第二SIP终端执行;对应的,第二SIP终端执行的上述步骤也可由第一SIP终端实现。下面以具体的VoIP语音通话实现流程为例对本发明做进一步的说明;请参见图7所示:
步骤701:双方SIP终端按正常呼叫流程进入到VoIP语音通话状态;
步骤702:并且此时双方记录的对端摘挂机状态均为摘机态。
步骤703:第一SIP终端(或第二SIP终端)挂机;
步骤704:第一SIP终端(或第二SIP终端)向第二SIP终端(或第一SIP终端)发出挂机通知,具体可通过发送INFO(signal=hook-on)信令实现;
步骤705:第二SIP终端(或第一SIP终端)更新其记录的第一SIP终端(或第二SIP终端)的摘挂机状态为挂机态。
步骤706:第一SIP终端(或第二SIP终端)再摘机;
步骤707:第一SIP终端(或第二SIP终端)向第二SIP终端(或第一SIP终端)发送摘机通知,具体可通过INFO(signal=hook-off)信令实现;
步骤708:第二SIP终端(或第一SIP终端)更新其记录的第一SIP终端(或第二SIP终端)的摘挂机状态为摘机态;
步骤709:第一SIP终端和第二SIP终端继续VoIP语音通话;
步骤710:第一SIP终端(或第二SIP终端)挂机;
步骤711:第一SIP终端(或第二SIP终端)向第二SIP终端(或第一SIP终端)发送挂机通知,具体可通过INFO(signal=hook-on)信令实现;
步骤712:第二SIP终端(或第一SIP终端)更新其记录的第一SIP终端(或第二SIP终端)的摘挂机状态为挂机态;
步骤713:第二SIP终端(或第一SIP终端)挂机;
步骤714:第二SIP终端(或第一SIP终端)释放会话资源;
步骤715:第二SIP终端(或第一SIP终端)向第一SIP终端发送BYE信令结束会话;
步骤716:第一SIP终端(或第二SIP终端)释放会话资源;
步骤717:结束VoIP语音通话。
图7所示为通过双方挂机结束VoIP语音通话。本实施例还可通过其中一方拨打通话终止号码结束VoIP语音通话,以作为异常保护流程,请参见图8所示,包括:
步骤801:双方SIP终端按正常呼叫流程进入到VoIP语音通话状态;
步骤802:并且此时双方记录的对端摘挂机状态均为摘机态。
步骤803:第一SIP终端(或第二SIP终端)挂机;
步骤804:第一SIP终端(或第二SIP终端)向第二SIP终端(或第一SIP终端)发出挂机通知,具体可通过发送INFO(signal=hook-on)信令实现;
步骤805:第二SIP终端(或第一SIP终端)更新其记录的第一SIP终端(或第二SIP终端)的摘挂机状态为挂机态。
步骤806:第一SIP终端(或第二SIP终端)再摘机;
步骤807:第一SIP终端(或第二SIP终端)向第二SIP终端(或第一SIP终端)发送摘机通知,具体可通过INFO(signal=hook-off)信令实现;
步骤808:第二SIP终端(或第一SIP终端)更新其记录的第一SIP终端(或第二SIP终端)的摘挂机状态为摘机态;
步骤809:第一SIP终端和第二SIP终端继续VoIP语音通话;
步骤810:第二SIP终端(或第一SIP终端)通过拍叉簧拨打特定业务键;
步骤811:第二SIP终端(或第一SIP终端)释放会话资源;
步骤812:第二SIP终端(或第一SIP终端)向第一SIP终端发送BYE信令结束会话;
步骤813:第一SIP终端(或第二SIP终端)释放会话资源;
步骤814:结束VoIP语音通话。
可见,本发明提供的方案,通信双方的SIP终端在挂机和摘机时会向对方发送相应的通知,并在挂机时可保留当前会话所用的资源,以留待后续摘机继续之前进行的VoIP语音通话使用,并不依赖于延时时间的设定,也并不受主、被叫角色限制,主叫用户或被叫用户理论上可在任意时间段内再摘机继续该通话,可很好的满足用户在各种应用场景的实际需求,提高用户体验的满意度。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。