语音业务概览 infinity links将运营商sip trunk资源进行整合,向客户提供全球主要市场的语音服务,既可以仅提供VOIP资源,也可以同时提供呼叫中心平台服务,方便客户企业灵活的根据自己的需求进行接入。 需要配合软电话进行使用,软电话的种类,不同操作系统上的选择 呼出流程,呼入流程 本文档将介绍业务相关的基础概念,帮助读者快速了解语音业务。 SIP Trunk及VOIP 业务概览 VOIP(Voice over Internet Protocol) 是一种通过互联网进行语音通信的技术,它将模拟语音信号转换为数字信号进行传输,具有成本低、灵活性强等特点。 SIP Trunk(SIP中继) 是VOIP系统中连接企业内部IP电话系统与公共电话网络(PSTN)的关键组件。它通过SIP协议建立和管理通话通道,支持企业实现与外部电话网络的互通。SIP Trunk可以是运营商提供的IMS中继,也可以是第三方企业提供的基于互联网的弹性SIP中继(Elastic SIP Trunk),后者支持一点接入、全国乃至全球落地,并能聚合多个运营商的资源。 VOIP与SIP Trunk的关系 VOIP系统依赖SIP Trunk实现与PSTN的互通。当企业需要拨打或接听外部电话时,VOIP系统通过SIP Trunk将语音数据包传输到PSTN网络,完成通话的建立和终止。SIP Trunk在VOIP系统中起到了桥梁的作用,使得企业无需传统电话线路即可实现语音通信。 PSTN(Public Switched Telephone Network) 即公共交换电话网络,是一种传统的电话通信网络,它通过电路交换技术实现语音通信。PSTN是全球范围内广泛使用的电话网络基础设施,支持固定电话、移动电话等通信方式。在VOIP系统中,PSTN作为外部电话网络的代表,SIP Trunk作为连接VOIP系统与PSTN的桥梁,使得企业可以通过互联网实现与传统电话网络的互通。 SBC(会话边界控制器) 是VoIP通信中的关键组件,主要负责会话控制、媒体代理及安全防护。它支持信令代理、媒体转码、NAT穿越等功能,可部署在运营商IMS或企业网络中,保障通话质量与网络安全。 PBX(专用交换机) 是企业内部电话系统的核心设备,提供语音通信、呼叫路由及管理功能,支持多终端接入(如IP话机、SIP中继),并集成SBC以增强安全性和扩展性。该设备既可以是在客户侧部署的硬件,也可以是在云端部署的云PBX服务 两者的核心区别在于:SBC侧重网络边界的安全与协议处理,而PBX聚焦企业内部通信资源的管理与分配。 在infinity links,我们主要使用软交换平台实现云PBX的相关功能 软交换及freeswitch 核心概念软交换(Softswitch)是一种基于分组网的呼叫控制技术,其核心思想是将传统交换机的呼叫控制功能与媒体传输功能分离,通过软件实现呼叫路由、网关管理、带宽控制等功能。它采用开放架构和标准化协议(如SIP、H.248、MGCP等),支持多网络互通(PSTN、IP网等),并能快速部署新业务。 FreeSWITCH是一个开源的多媒体通信平台,支持语音、视频、文本等多种实时通信协议(如SIP、WebRTC),常用于构建PBX、IVR、视频会议等系统。其设计核心是一个模块化的软交换引擎,可嵌入其他项目或独立运行。 特性 软交换系统 FreeSWITCH 定位 运营商级核心网络架构 开源通信平台 协议支持 SIP/H.323/MGCP等标准化协议 SIP/WebRTC等,侧重灵活性 部署场景 大规模电信网络 企业PBX、云通信、呼叫中心 核心优势 网络融合与业务开放 低成本、高定制化 FreeSWITCH可视为一种软交换的实现,但其更侧重灵活的开源生态和多媒体处理能力,而传统软交换系统通常面向运营商级网络,强调标准化和规模部署。 号段及路由 号段 在移动网络中,号段是指分配给特定运营商或服务提供商的一组电话号码范围。每个号段通常由国家或地区的电信管理机构进行规划和分配,以确保号码资源的有序使用。号段的格式通常包括国家代码、地区代码和用户号码部分。例如,在中国,手机号码的号段通常以1开头,后面跟随不同的数字组合,代表不同的运营商和业务类型。 一个移动网络电话号码的构成通常遵循下面的规则 国家码+运营商号段+随机数字 一个固定电话号码的构成通常遵循下面的规则 国家码+地区码+随机数字 其中 国家码 遵循ISO规范,但在实际业务中前缀可以存在多种形式,例如62,0062或+62等 运营商号段 遵循当地法律法规,例如中国移动号段139,telkomsel号段812等 地区码 遵循当地法律法规,例如纽约的区号为212,伦敦区号为20,雅加达区号为21等 随机数字 遵循当地法律法规及运营商规则,通常为6~9位数字 在实践中,请注意主叫和被叫都会涉及到号段、号码的概念。在infinity links,我们通常会为不同客户、业务分配不同的主叫号段。同时,主叫可能存在被用户通过第三方软件标记为骚扰电话,进而影响接通率等业务指标的表现,需要及时进行调整 另外在部分公司系统中,我们会添加自定义前缀号段用于区分客户、控制路由等目的 路由 在SIP Trunk业务中,路由是指语音通话数据包从源端(如企业内部的IP电话系统)到目的端(如公共电话网络PSTN或其他外部终端)的路径选择过程。具体来说,路由涉及以下几个关键点: 路径选择 SIP Trunk根据预设的规则和策略,决定语音数据包通过哪条网络路径传输。这可能基于成本、网络负载、地理位置等因素。 信令控制 SIP协议用于建立、修改和终止通话会话。路由过程中,SIP信令消息(如INVITE、ACK等)在源端和目的端之间传递,确保通话的正确建立和释放。 媒体流传输 一旦通话建立,语音数据包(媒体流)将沿着选定的路径传输。SIP Trunk负责确保媒体流的稳定性和质量,可能涉及媒体转码、NAT穿越等技术。 动态调整 在某些情况下,SIP Trunk可以根据实时网络状况动态调整路由,以优化通话质量和减少延迟。 安全与合规 路由过程中,SBC(会话边界控制器)等设备会进行安全检查,防止非法访问和攻击,同时确保符合当地的法律法规。 在infinity links,主要利用号段将不同性质、不同客户的通话送往不同运营商、供应商的线路,以实现负载均衡、成本优化、风险隔离等业务目标 信令及返回码 信令 在SIP Trunk业务中,信令是指用于建立、修改和终止通话会话的通信协议消息,主要通过SIP(Session Initiation Protocol)协议实现。信令在通话过程中起着关键作用,具体包括以下几个方面: 会话建立: 当用户发起通话请求时,SIP信令消息(如INVITE)从源端(如企业内部的IP电话系统)发送到目的端(如公共电话网络PSTN或其他外部终端),通知对方建立通话连接。 会话修改: 在通话过程中,如果需要调整通话参数(如添加或删除参与者),可以通过SIP信令消息(如UPDATE或 re-INVITE)来实现。 会话终止: 当通话结束时,SIP信令消息(如BYE)用于通知对方终止通话连接,释放资源。 状态管理: SIP信令还用于管理通话的状态,例如通过REGISTER消息注册用户状态,或通过OPTIONS消息查询对方的支持能力。 信令控制: SIP信令消息在源端和目的端之间传递,确保通话的正确建立、维持和释放,是SIP Trunk业务中实现语音通信的核心机制。 总结来说,SIP Trunk业务中的信令是通过SIP协议进行会话控制和管理的关键组成部分,确保通话的顺利建立、维持和终止。 信令返回码 在SIP Trunk业务中,SIP(Session Initiation Protocol)信令用于建立、修改和终止通话会话。SIP响应码分为几类,每类响应码表示不同的含义。以下是SIP Trunk业务中常见的返回码及其简要解释: 1xx:信息性响应 100 Trying:表示服务器已收到请求,正在处理,但尚未完成。 180 Ringing:表示被叫方正在振铃。 183 Session Progress:表示会话正在进行中,通常用于提示通话建立过程中的中间状态。 2xx:成功响应 200 OK:表示请求已成功处理,通常用于确认通话建立、修改或终止。 202 Accepted:表示请求已被接受,但处理尚未完成,通常用于异步操作。 3xx:重定向响应 301 Moved Permanently:表示请求的资源已永久移动到新位置。 302 Moved Temporarily:表示请求的资源暂时移动到新位置。 380 Alternative Service:表示通话被重定向到另一种服务。 4xx:客户端错误 400 Bad Request:表示请求语法错误,服务器无法理解。 401 Unauthorized:表示请求需要身份验证。 403 Forbidden:表示服务器理解请求,但拒绝执行。 404 Not Found:表示请求的资源不存在。 408 Request Timeout:表示服务器等待请求超时。 429 Too Many Requests:表示客户端发送的请求过多,需要限制请求频率。 5xx:服务器错误 500 Internal Server Error:表示服务器遇到意外情况,无法完成请求。 501 Not Implemented:表示服务器不支持请求的功能。 503 Service Unavailable:表示服务器暂时不可用,通常用于维护或过载情况。 504 Gateway Timeout:表示服务器作为网关或代理时,未及时收到上游服务器的响应。 6xx:全局错误 600 Busy Everywhere:表示被叫方在所有可用端点都忙。 603 Decline:表示被叫方明确拒绝通话请求。 604 Does Not Exist Anywhere:表示被叫方在任何地方都不存在。 606 Not Acceptable:表示被叫方接受会话描述,但某些媒体特性不可接受。 这些返回码在SIP Trunk业务中用于指示通话建立、修改和终止过程中的不同状态和问题,帮助网络管理员和开发人员诊断和解决通信中的问题。