Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For the quick configuration, you can import the scheme from the file  внутренние звонки-schemainternal calls-scheme.json

Code Block
languagejs
firstline1
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "set": {
            "hangup_after_bridge": "true"
        }
    },
    {
        "preAnswer": ""
    },
    {
        "ringReady": ""
    },
    {
        "recordSession": {
            "action": "start",
            "bridged": true,
            "followTransfer": true,
            "minSec": 2,
            "stereo": true,
            "type": "mp3"
        }
    },
    {
        "ringback": {
            "all": true,
            "call": {
                "name": "%(1000,6000,425);loops=-1",
                "type": "tone"
            },
            "hold": {
                "name": "%(1000,6000,425);loops=-1"
            },
            "transfer": {
                "name": "%(1000,6000,425);loops=-1"
            }
        }
    },
    {
        "bridge": {
            "endpoints": [
                {
                    "extension": "${destination_number}",
                    "parameters": {
                        "leg_timeout": 90
                    },
                    "type": "user"
                }
            ],
            "parameters": {
                "call_timeout": 90
            }
        }
    },
    {
        "hangup": ""
    }
]

...

After configuring the routing scheme, you need to set up the outbound routing rules. For this purpose, you have to create a new rule Dialplan in the outbound routing section.

...

Code Block
languagejs
firstline1
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "preAnswer": ""
    },
    {
        "ringReady": ""
    },
    {
        "answer": ""
    },
    {
        "echo": ""
    }
]

An outbound routing rule for the echo test

For the echo test, you also need to set a rule for 0 number.

The routing scheme for the conference

Additionally, you can configure the routing scheme for the conference.

For the a quick setup, you can import the scheme from the file conference-schema.json

Code Block
languagejs
firstline1
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "answer": ""
    },
    {
        "conference": {
            "name": "$1",
            "profile": "video-mcu-stereo"
        }
    },
    {
        "hangup": ""
    }
]

Правило исходящей маршрутизации для конференции

Для конференции нужно также настроить правило на номер 00

Image Removed

Схема исходящей маршрутизации

...

An outbound routing rule for conference

For the conference, you also need to set a rule for the 00 number.

Image Added

The outbound routing scheme

The routing scheme for making outbound calls. In code, you need to specify the gateway number through which the outbound calls will be passing.

Code Block
languagejs
firstline1
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "ringReady": ""
    },
    {
        "preAnswer": ""
    },

    {
        "ringback": {
            "call": {
                "name": "%(1000,6000,425);loops=-1",
                "type": "tone"
            },
            "hold": {
                "name": "%(1000,6000,425);loops=-1",
                "type": "tone"
            },
            "transfer": {
                "name": "%(1000,6000,425);loops=-1",
                "type": "tone"
            }
        }
    },
    {
        "recordSession": {
            "action": "start",
            "bridged": true,
            "minSec": 2,
            "stereo": true,
            "type": "mp3"
        }
    },
  
    {
        "bridge": {
            "codecs": [
                "PCMA",
                "PCMU"
            ],
            "endpoints": [
                {
                    "dialString": "$1",
                    "name": "НАЗВАНИЕ ШЛЮЗА",
                    "parameters": {
                 
                    },
                    "type": "gateway"
                }
            ]
        }
    },
    {
        "hangup": ""
    }
]

Правило исходящей маршрутизации

...

An outbound routing rule

For the outbound routing, you also need to set a rule. You have to write the regular expression ^(.*)$ in the destination number field. 

Info
titleВажно!

В настройке правил маршрутизации важна последовательность, так как при исходящем звонке номер проверяется по каждому правилу сверху внизThe sequence is important in the routing rules configuration because during the outbound call the number is checked according to each rule from top to bottom

Схема входящей маршрутизации с маршрутизацией на конкретного оператора

...

Inbound routing scheme with the routing to a specific agent

An example of the inbound call routing scheme through a gateway to an agent whose internal number (extension) is 200. This routing scheme must be specified in the gateway settings (Connecting a Communication Provider).

Code Block
languagejs
firstline1
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "recordSession": {
            "action": "start",
            "bridged": false,
            "followTransfer": true,
            "minSec": 2,
            "stereo": true,
            "type": "mp3"
        }
    },
    {
        "bridge": {
            "endpoints": [
                {
                    "extension": "200",
                    "type": "user"
                }
            ]
        }
    },
    {
        "hangup": ""
    }
]

Схема входящей маршрутизации с маршрутизацией на трех операторов последовательно

...

Inbound routing scheme with the routing to 3 agents in series

An example of the inbound call routing scheme through a gateway sequentially to 3 agents whose internal numbers (extension) are 200, 201, 202. Данная схема маршрутизации должна быть указана в настройке шлюза (Подключение провайдера связи This routing scheme must be specified in the gateway settings (Connecting a Communication Provider).

Code Block
languagejs
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "recordSession": {
            "action": "start",
            "bridged": false,
            "followTransfer": true,
            "minSec": 2,
            "stereo": true,
            "type": "mp3"
        }
    },
    {
        "bridge": {
            "endpoints": [
                
                {
                    "extension": "200",
                    "parameters": {
                        "call_timeout": "20"
                    },
                    "type": "user"
                },
                {
                    "extension": "201",
                    "parameters": {
                        "call_timeout": "20"
                    },
                    "type": "user"
                },
                {
                    "extension": "202",
                    "parameters": {
                        "call_timeout": "20"
                    },
                    "type": "user"
                }
                                
            ]
        }
    },
        
    {
        "hangup": ""
    }
]

Схема входящей маршрутизации звонка в очередь

После настройки очереди в схеме маршрутизации необходимо указать идентификатор очереди, в какую нужно маршрутизировать входящий звонок.

Идентификатор очереди можно узнать из адресной строки браузера, открыв страницу настройки очереди.

Image Removed

...

The routing scheme for an inbound call into a queue

After configuring a queue in the routing scheme, you need to specify the queue identifier where the incoming call will be addressed.

You can find the queue identifier in the browser address bar by opening the queue settings page.

Image Added

An example of a routing scheme to the inbound queue which system identifier is 78. 

Code Block
languagejs
firstline1
titleCallflow
linenumberstrue
collapsetrue
[
    {
        "answer": ""
    },
    {
        "recordSession": {
            "action": "start",
            "bridged": true,
            "followTransfer": "true",
            "minSec": 2,
            "stereo": true,
            "type": "mp3"
        }
    },
    {
        "joinQueue": {
            "priority": 100,
            "queue": {
                "id": 78
            }
        }
    },
    {
        "hangup": ""
    }
]

...