Call Legs是什么鬼

        如果你接触过Voip,那么你会经常碰到这些术语:Channel、 Call、 Call Leg  (A leg 及 B Leg),还有 Bridged Call。是不是感觉晕乎乎的,不知所云?这里解释一下这些术语。

1. Call legs

        当你拿起电话,接通一个号码时,从电话交换机的视角来看,这路呼叫是分成两部分的:

  • 首先,在你拨号时,你的话机设备向交换机发起一条连接,并通知交换机你要呼叫的号码
  • 然后,交换机查找拨号规则,处理被叫号码,然后向被叫终端发起一条连接

因此,在交换机上,有两条独立的连接存在:

  • 一条是主叫方 originator (caller)发起的连接,通常称为ingress
  • 另一条是交换机发起的,连接被叫方 recipient of the call (callee),通常称为egress

        这两条连接,都是call legcall leg.指的是在终端与交换机之间,交换机的入局或出局连接。

1.1 A leg 与 B leg

        A leg 和B leg 这两个术语经常混淆。在严格意义上:

  • A leg 描述ingress (即交换机入局的 call leg) 
  • B leg 拱桥egress (即交换机出局的  call leg) 

在多数场景下,这意味着In most cases, this means that

  • 主叫方的连接是 A leg
  • 被叫方的连接是 B leg.

2. Channels

        在FreeSWITCH或Asterisk的实现中,channel 就是描述call leg的抽象。

        Channel由拨号方案控制。每个channel 有一个UUID,编程中可以通过UUID操作呼叫或报告呼叫详情。

3. Calls

        术语call 指从主叫到被叫间的端到端连接。

3.1 单legg call

        顾名思义,只有一个call leg组成的call

        比如:接入voicemail时,主叫方连接的是交换机提供的APP。这时交换机并没有生成B leg,因为它没必要桥接到第三方。

        一些具体实例:

  • IVR
  • voicemail
  • 会议

3.2 Bridged call

        拨号方案通过某种方式,把A legB leg连接在一起,这时,我们称建立一个bridged call(桥接)

        因此,在bridged call里,两条leg并称为一个call。

        呼叫同一组织内的分机时,通常只经过一道交换。在现实世界里,通常你接到的电话是来自你的SIP供应商的,不是主叫直接呼叫到你的设备上,期间可能需要多次交换,才能顺利连接主叫和被叫。但是,在每一个交换机视角里,这些概念同样适用。

        桥接的双方,可以不使用同一种协议,这为通信交换提供了极大的便利,但这打破了端到端安全加密的要求。

猜你喜欢

转载自blog.csdn.net/yetyongjin/article/details/106852487
今日推荐