p将由用户输入的代码作为文本(SMS)消息发送到 API层应用程序106。文本消息通过由移动电话网络112 (诸如GSM网络)支持的移动电话 数据连接被发送。API层应用程序106相对于在呼叫过程中提供给家庭电话110的PIN2代 码检查从移动设备100接收的代码,如果从app接收的代码与提供给家庭电话号码的PIN2 代码匹配,则API层应用程序106验证用户的家庭电话号码。
[0033] 验证用于用户的家庭电话110和移动设备100二者的身份之后,API层应用程序 106现在发起后端处理以建立该账户,同时显示如图2m所示的又一画面280,向用户确认该 系统现在准备好将他们的移动设备与他们的家庭电话服务计费账户相关联。
[0034] 为了发起后端处理以建立该账户,API层应用程序106将控制交给客户订单软件 功能(MCS0 114)。MCS0 114用作用于下订单的聚合和编制功能。MCS0 114在客户数据库 服务器116上开始建立用于移动设备100的VoIP服务的用户配置文件。
[0035] MCS0 114进行到电话号码库(MNUM) 118的软件呼叫,请求用户的app发布未使用 的非地域性号码(该非地域性号码将变成用于新创建账户的标识符)。通常,MNUM 118提 供用于号码选择和保留、分配、取消、号码激活以及停止的操作。MNUM118分配并且提供非地 域性号码给MCS0 114, MCS0 11将非地域性号码作为用户配置文件的一部分存储在客户数 据库服务器116上。MCS0 114还将该非地域性号码与客户的移动号码一起复制到交换机管 理器120。交换机管理器120生成与该非地域性号码相关联的密码,并且将该密码与非地域 性号码和客户的移动号码一起提供给软交换机122 (诸如,来自BT的软交换机)。软交换机 被理解为支持多个协议的软件受控呼叫服务器,并且其实现从一个信令与寻址方案到另一 信令与寻址方案的消息转换(例如,号码翻译)。
[0036] 软交换机122建立针对非地域性号码的SIP账户(即,非地域性号码是SIP账户 的账户ID和网络号码)。然后,软交换机122利用"成功"消息对交换机管理器120进行响 应。交换机管理器120将"成功"消息与非地域性号码和由交换机管理器120生成的密码 一起通知给MCS0 114。MCS0 114将非地域性号码的指示添加到密码,并且将二者复制到客 户数据库服务器116上的用户配置文件。客户数据库服务器116现在具有用户的VoIP账 户SIP凭证的记录(即,非地域性号码和SIP密码)。
[0037] 如图3a所示,在310处,移动设备10联系API层应用程序106以发起注册,并且 提供以下参数:现有账户ID(如果可用)、家庭电话号码(DN)、移动台国际用户目录号码 (MSISDN)和设备ID。MSISDN被用作用于移动通信网络中的移动终端设备的标识符。
[0038] 如图3a所示,在312处,API层应用程序106联系客户数据库服务器116以查找 现有用户账户(如果可用)或者请求创建新账户。在314处,客户数据库服务器116对API 层应用程序106进行响应,提供用户的现有账号或新生成的账号。
[0039] 在316处,API层应用程序106向计费服务器126发送包括用户的现有账号和家庭 电话号码(DN)的请求,以验证用户是否具有有效计费账户。在318处,计费服务器126对 来自API层应用程序106的请求进行响应。
[0040] 在320处,API层应用程序106创建ΡΙΝΙ代码。在322处,API层应用程序106联 系客户数据库服务器116以请求创建用户配置文件。该请求包括用户的现有账号、MSISDN、 设备ID和ΡΙΝΙ代码。
[0041] 如图3a所示,在324处,API层应用程序106联系移动网络112,以经由SMS将ΡΙΝΙ 代码发送到移动设备100。在326处,移动网络112利用ΡΙΝΙ代码经由SMS联系移动设备 100。然后,用户读取经由SMS发送的代码,并且将其输入到在移动设备10上运行的app中。 在328处,移动设备10将由用户输入的代码发送到API层应用程序106。在330处,API层 应用程序106将原始ΡΙΝΙ代码与从移动设备100接收的代码进行比较。如分别在332和 334处所示,当这两个代码匹配时,API层应用程序106联系客户数据库服务器116以确认 MSISDN,并且联系移动设备100以确认代码匹配。
[0042] 如图3b所示(其继续图3a的流程图),在336处,移动设备10然后联系API层应 用程序106,以提示用于验证家庭电话号码的又一代码(PIN2)。在338处,API层应用程序 106创建PIN2代码,并且在340处,联系客户数据库服务器116以将PIN2代码存储在用户 配置文件中。在342处,API层应用程序106联系IVR平台108,以发起IVR消息的输出,将 PIN2代码传输到家庭电话110。在344处,IVR平台108联系PSTN 124,以向家庭电话110 拨打向外呼叫。在346处,PSTN 124联系家庭电话110,以允许传送包括来自IVR平台108 的PIN2代码的语音消息。
[0043] 在348处,用户获得来自家庭电话110的PIN2代码,并且对在移动设备100上运 行的app输入PIN2代码。在350处,app联系API层应用程序106,以发送由用户输入的代 码。在352处,API层应用程序106将原始PIN2代码与从移动设备100接收的代码进行比 较,并且在354处,联系移动设备100以确认代码匹配。
[0044] 如上所述,一旦app被安装在移动电话100上,它就为了用户的SIP账户凭证开始 轮询API层应用程序106。一旦这些凭证可用,API层应用程序106就将包括非地域性号码 和SIP密码的SIP凭证复制到app,该app现在具有请求使用非地域性号码作为移动设备 100SIP线路ID( 即,呼叫者或呼叫线路识别(CLI))经由数据连接建立到软交换机122的 SIP呼叫(例如,VoIP呼叫)所要求的所有数据。更详细地,当MCS0 114接收到用户的SIP 账户凭证时,这些凭证被存储在客户数据库服务器116上。从app到API层应用程序106 的每次轮询都引起从API层应用程序106到客户数据库服务器116的请求凭证的呼叫。一 旦MCS0 114将凭证提供给客户数据库服务器116,来自app的轮询将使得凭证从客户数据 库服务器116被复制到API层应用程序106,凭证从API层应用程序106被提供给app。由 app进行轮询可以在MCS0 114已将凭证提供给客户数据库服务器116之前发生,在这种情 况下,轮询将不返回凭证,并且因此app知道要再次轮询。
[0045] 用户现在能够经由经过软交换机122的数据连接进行向外SIP呼叫,以用于通过 PSTN 124或者别处转发。移动设备app现在能够对移动号码、座机号码、SIP账户等进行 VoIP呼叫。图2n示出用于在移动设备100上显示的画面290,画面290表示正在使用的app 向移动号码进行语音呼叫(但是本发明不限于此,而是可以支持对座机号码、SIP账户等的 呼叫)。如图2η所示,在使用时,app可以向用户提供对联系人姓名和号码292的列表的存 取,可以选择联系人姓名和号码292中的一个以发起呼叫,或者另选地可以提供键