处理电话会话的系统和方法_3

文档序号:8925370阅读:来源:国知局
储的媒体文件例如存储在服务器上的mp3或wav文件的情况下,步骤S7可被简化,且通过URI映射到磁盘的文件可被简单地返回。
[0061]步骤S9陈述了来自服务器的响应。这个响应优选地是HTTP响应。响应优选地作为XML、音频二进制或原始文本被发送,但也可以可选地是任何种类的消息发送格式,包括HTML、界定文本、键/值文本或二进制编码格式。HTTP响应优选地包括执行电话操作的指示。响应可以可选地或另外地包括新的URI和新的URI模板以与步骤S3中的电话操作一起使用。另外的示例性XML响应在图5A和图5B中示出。
[0062]1B.处理电话指令
[0063]用呼叫路由器处理电话指令的步骤S120优选地起作用,以将服务器响应转换为电话操作或在电话会话期间可执行的操作。电话操作可包括例如在服务器指定的URI (例如位于http://demo, twil1.com/myapp/1234.mp3的静杰mp3文件)播方文预先录制的声音文件、使用文本转语音技术为呼叫者读文本、呼叫另一个号码(例如通过PSTN、SIP/VOIP或其他的IP技术系统创建新的语音连接)、通过DTMF输入收集数字、记录语音响应音频、TTY或其他的数据、发送SMS消息、或者这些或其他的适当的操作的任何适当的组合或顺序。服务器响应的这个转换优选地在呼叫路由器上执行。优选地,步骤S120包括处理于服务器响应相关联的响应mime-类型。例如,如果响应mime-类型是XML,其被认为是一组呼叫路由器指令。如果响应mime-类型是MP3,其被认为是为呼叫者播放的声音文件。如果响应类型是纯文本,其被认为是通过文本转语音技术读给呼叫者的文本。
[0064]服务器响应的内容例如XML文档优选地通过顺序地(例如,逐行地)处理文档的方式被转换为电话操作。电话指令优选地以标记语言例如图5A和图5B中所示出的XML的形式被包含在文档中。处理电话指令的文档的这个连续的方式在通信是无状态且所有必要的信息都包含在URI中时有效。这个无状态通信优选地允许电话指令(动词或命令)被用作服务器应用用于执行电话服务的编程接口。电话动词或文档的(基于通信状态的)算法转换优选地为不必要的。优选地,按照服务器响应的内容中含有的电话指令的顺序来执行电话操作。例如,XML文档可包括必要的动词以实现为呼叫者读文本、监控由呼叫者按下的键、以及使用被按下的键作为新的URI的数据的部分来将呼叫者重定向到新的URI的电话操作。优选地,电话操作(例如被按下的数字)产生新的状态信息,这可导致方法的一些步骤的重复,优选地从步骤S3开始重复。下一个URI优选地由服务器提供作为处理指令的部分。在另一个变动形式中,如果服务器未能指定下一个URI则重复使用上一个URI。在又另一个变动形式中,如果服务器未能指定下一个URI则不发生重复,且过程向下进行下一个呼叫文本路由器指令。可通过呼叫路由器指令的性质确定行为;例如,没有产生新的状态信息的指令可能不需要有下一个URI,因为他们不触发与远程服务器的通信。更加优选地,电话操作导致步骤S3利用从步骤Sll得到的新的URI进行重复,但是可以可选地启动方法的一个或多个步骤(步骤S5、S7、S9或Sll)的重复。步骤S3优选地使用由执行电话操作产生的所有新的电话会话状态信息例如被按下的数字、录制的音频文件或被请求的任何电话操作的成功或失败信息来重复。重复还包括在会话期间保持相关的所有状态信息,例如呼叫者、被呼叫者、唯一呼叫ID和呼叫状态。状态信息还可以URI模板的形式表示。例如,如果服务器响应指定呼叫路由器收集DTMF数据,并指定下一个URL是URI模板http: //demo,twil1.com/fo0.php ? digits = {Digits},且呼叫者按下 1234,得到的 URI 是 http://dem0.twil1.com/fo0.php? digits = 1234。类似地,如果服务器响应指定URI模板:http://demo, twil1.com/myapp/ {Digits}.mp3,所得到的 HTTP 请求可能是位于:http://demo, twil1.com/myapp/1234.mp3的静态mp3文件。因此,呼叫可由发出电话指令的服务器和处理响应的第二个服务器控制,如图13和图14中所示。这样的呼叫控制转接构成了状态信息以URI和附带的请求数据例如GET、POST和/或请求体的形式在服务器之间的转换。可选地,所有的状态通信遵循由呼叫路由器建立的句法,以促进多个服务器之间的集成。例如,在键盘上按下的数字优选地以相同的形式被传送到应用服务器,因此使对在多个应用服务器之间关于状态如何转换的协作的需要最小化。可选地,呼叫路由器指令可规定传递新的状态信息例如变量的名字和类型的方法,以发送代表性的新的状态。
[0065]1C.创建可由呼叫路由器API访问的资源
[0066]创建可通过应用程序接口(API)访问的呼叫路由器资源的步骤S130优选地起作用,以暴露呼叫路由器的信息和/或功能。来自外部多方的交互优选地通过API (呼叫路由器API)执行。呼叫路由器API可另外地与电话指令的使用协作,以作为对于由呼叫路由器的操作生成的或需要的数据的存储和取回格式而起作用。呼叫路由器API优选地是应用程序接口(API),例如本领域中所知的REST API (表述性状态转移),但是呼叫路由器API可以可选地是SOAP(简单对象访问协议)API或任何适当的编程式通信接口。呼叫路由器API优选地可由应用异步地用于执行呼叫(以便在以后查询呼叫记录或取回记录)。可选地,呼叫路由器API可在呼叫的过程中同步使用(例如改变呼叫状态、挂断呼叫、启动呼叫记录等)。呼叫路由器API优选地将状态信息存储在资源的持久URI中。持久URI优选地包含所有的必要的状态信息,且这优选地使得数据稳定、可查询且可恢复。呼叫路由器API优选地用于修改资源以改变呼叫路由器的状态并用于与呼叫路由器的媒体交互。应用服务器可使用呼叫路由器API,以优选地查询呼叫记录的元数据、呼叫者身份、呼叫媒体(例如记录、文本副本等)、账户信息、呼叫路由器中的转移或与正在进行的通信的交互、和/或操作呼叫路由器生成的或需要的任何适当的数据。呼叫路由器API优选地涉及应用服务器和呼叫路由器之间的通信,但是可以可选地是从任何适当的设备到呼叫路由器的通信。呼叫路由器API优选地存在于与呼叫路由器相同的硬件上,但也可以可选地存在于远程硬件或任何适当的硬件环境中。通信优选地为HTTP,但是可选地可使用HTTPS或任何适当的通信协议。另外,呼叫路由器API还可与任何HTTP客户端兼容。优选的实施方式的电话系统优选地实现包括呼叫路由器API请求格式、呼叫路由器API响应格式以及代表由呼叫路由器生成或使用的数据的类型的多个API资源的呼叫路由器API。
[0067]优选的实施方式的呼叫路由器API请求作为从应用服务器发送到呼叫路由器的API资源的通信消息起作用。呼叫路由器API请求优选地从应用服务器发送到呼叫路由器,但是也可从任何适当的设备发送到呼叫路由器。呼叫路由器API请求优选地类似于RESTAPI请求,但是呼叫路由器API请求可以可选地遵循任何适当地程序设计,例如SOAP。呼叫路由器API请求优选地使用HTTP与资源交互,但是也可使用HTTP或任何适当的通信协议。优选地,GET的HTTP或HTTPS方法用于取回资源或资源信息,且PUT或POST的HTTP或HTTPS方法用于创建或更新资源。在一些情况下,PUT或POST可用于通过修改资源的状态来影响呼叫路由器的功能。可选地,方法参数可包括在资源的URI中,以识别对于资源的被请求的操作,或者也可使用任何适当的命令或方法来与API资源进行交互。优选地,通过在URI中包括消息认证信息例如使用共用密钥的请求内容的加密散列,或通过任何适当的方法,呼叫路由器API请求包括认证例如基本的HTTP或HTTPS认证。
[0068]优选的实施方式的呼叫路由器API响应作为响应于在API资源上执行的方法而发送的通信信息来起作用。呼叫路由器API响应优选地从呼叫路由器发送到应用服务器或任何适当的设备。呼叫路由器API响应优选地响应于呼叫路由器API请求而发送,且响应优选地被发送到始发设备。呼叫路由器API响应优选地与REST API响应相似,该响应代表所请求的资源。呼叫路由器API响应可以可选地遵循任何适当的程序设计例如SOAP。呼叫路由器API响应优选地作为格式化XML而被返回,该格式化XML带有与HTTP状态代码对应的信息、消息、错误代码和/或与资源相关的任何适当的信息。呼叫路由器API响应可以可选地被表示为逗号分隔值列表(CSV)、HTML、JSON或任何适当的形式。在一个变动形式中,响应格式由所请求的URI的一部分例如文件扩展来确定。在一个变动形式中,API资源可以是二进制数据资源,且呼叫路由器API响应优选地被格式化为本机二进制格式(例如,wav或mp3音频文件)、XML元数据描述和/或任何适当的格式。
[0069]优选的实施方式的API资源作为呼叫路由器元数据、内部呼叫路由器状态、或由呼叫路由器使用的给定资源的状态的可寻址表示而起作用。优选地,API资源由持久URI寻址。优选地,API资源响应于POST、PUT、GET或DELETE的至少一个HTTP操作。API资源可以可选地响应于多个HTTP操作。API资源可以可选地响应于优选地包括在呼叫路由器API请求中的任何适当的方法。与RESTful惯例一致,资源的GET请求可返回资源的当前状态,而PUT可更新状态,PUT或POST可用于创建新的资源,DELETE可用于破坏资源。呼叫路由器API除了修改数据外还可以可选地用于影响正在进行的呼叫的功能。优选的实施方式的API资源包括账户资源、呼叫者ID资源、呼入的地址资源、呼叫资源、媒体资源和/或呼叫路由器的任何适当的资源。API资源可以可选地为所列出的资源或其他的适当的资源的任何适当的组合。API资源优选地是预配置(或者“静态”)资源,例如账户信息,或由呼叫路由器使用的活动状态的资源例如电话呼叫。通过API修改资源状态另外还可以实时地影响呼叫路由器的操作,影响呼叫路由器在将来的呼叫状态或能力,和/或具有任何适当的影响。
[0070
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1