Подключение GSM/CDMA/UMTS шлюзов Yeastar TG100/200/400/800/1600 к 3CX

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


Автор: Telworks

Подключение GSM/CDMA/UMTS шлюзов Yeastar TG100/200/400/800/1600 к 3CX

Для выполнения звонков по отдельным каналам GSM


В данной статье описан порядок подключения шлюзов Yeastar TG100/200/400/800/1600 к системе телефонии 3CX для выполнения звонков по отдельным каналам GSM.


В конфигурации используются следующие исходные данные. Внутренний телефон с номером 380, зарегистрирован на системе 3СХ. Звонки из внутреннего номера 380 должны направляться в определенные каналы GSM, в котором установлены SIM карты различных провайдеров. В зависимости от набранного номера мобильного телефона звонки будут направляться в канал соответствующего провайдера.

Yeastar TG 3CX Plan.png


Содержание

[править] Настройка 3СХ

Для подключения шлюзов Yeastar серии TG к системе 3CX необходимо выполнить следующие действия:

1. В консоли управления 3СХ перейти в раздел VoIP/PSTN Шлюзы, нажать кнопку «Добавить Шлюз». Добавить шлюз необходимо для каждого канала SIP-GSM.

Yeastar TG 3CX Setting3CX.png

2. В мастере настройки установить значения полей:

Yeastar TG 3CX Setting3CX-2.png

Параметр конфигурации Значение Наименование Введите любое удобное шлюза Марка Установить Generic Модель Установить Gateway Device

Нажать кнопку «Далее»

3. В настройках VoIP шлюза ввести значения:

Yeastar TG 3CX Setting3CX-3.png

4. В окне «Создать порты» установить значение пароля 3СХ для регистрации учетной записи VoIP канала. Нажать кнопку «Далее». Yeastar TG 3CX Setting3CX-4.png

5. Система 3СХ предложит создать правило маршрутизации вызовов из 3СХ в Yeastar TG.

Yeastar TG 3CX Setting3CX-5.png

6. В результате в консоли управления 3СХ должны присутствовать записи шлюзов для каждого канала 3СХ-SIP.

Yeastar TG 3CX Setting3CX-6.png

7. Статус каналов SIP можно проверить в разделе «Статус Портов/Транков». Зеленый цвет сигнализирует о наличии регистрации канала.

Yeastar TG 3CX Setting3CX-7.png

Транки на 3СХ настроены. Далее необходимо настроить маршрутизацию из 3СХ в Шлюз.

[править] Настройка маршрутов для направления вызовов из 3CX в шлюз Yeastar TG

Для звонков из 3СХ по раздельным каналам GSM следует создать правила вызовов. Для создания правил следует выполнить следующие действия:

1. В консоли управления 3СХ перейти в раздел «Исходящие правила». Нажать кнопку «Добавить Исходящее Правило».

Yeastar TG 3CX SetRoute3CX-1.png

2. В настройках правила следует задать следующие параметры:

Yeastar TG 3CX SetRoute3CX-2.png

При необходимости, другие настройки следует устанавливать по руководству 3СХ.

[править] Настройка Шлюза Yeastar TG

Для регистрации шлюза Yeastar серии TG на сервере 3СХ необходимо выполнить следующие действия:

1. Создать VoIP линии с регистрацией шлюза Yeastar TG на системе 3СХ

Yeastar TG 3CX SetTrunkTG-1.jpg

2. В параметрах VoIP линий следует указать

Yeastar TG 3CX SetTrunkTG-2.jpg

3. В дополнительных параметрах, в поле «Аутентификация входящих вызовов» установить значение «Yes».

Yeastar TG 3CX SetTrunkTG-3.jpg

Нажать кнопку «Применить»

Yeastar TG 3CX SetTrunkTG-31.jpg

4. Добавить маршруты для направления вызовов из соответствующих каналов SIP в каналы GSM

Yeastar TG 3CX SetTrunkTG-4.jpg

5. В маршрутах следует задать следующие настройки:

Yeastar TG 3CX SetTrunkTG-5.jpg

[править] Проверка

Проверка направления звонков из внутреннего номера, зарегистрированного на сервере 3СХ через необходимый канал GSM выполняется на шлюзе с помощью консоли, подключенной по SSH в консоли сервера Asterisk на шлюзе, вызываемой с помощью команды «asterisk -rvvvvvvvv».

В примере лога показана маршрутизация вызова направляющегося из канала «90003» в канал GSM «3» (YSGSM/5).

Лог звонка в шлюзе

TG800*CLI>
[2015-05-21 05:54:46] NOTICE[1244]: chan_sip.c:27289 ys_chk_all_registers: username:90003@192.168.254.163 register
[2015-05-21 05:54:46] NOTICE[1244]: chan_sip.c:27289 ys_chk_all_registers: username:90002@192.168.254.163 register
[2015-05-21 05:54:46] NOTICE[1244]: chan_sip.c:27289 ys_chk_all_registers: username:90001@192.168.254.163 register
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP VRTP TOS bits 136
  == Using SIP VRTP CoS mark 4
    -- Executing [89164870584@from-trunk-90003:1] Macro("SIP/trunk-90003-00000004", "Routein_IP_GSM_90003,0,89164870584") in new stack
    -- Executing [s@macro-Routein_IP_GSM_90003:1] Set("SIP/trunk-90003-00000004", "CDR(userfield)=IP->GSM") in new stack
    -- Executing [s@macro-Routein_IP_GSM_90003:2] GotoIf("SIP/trunk-90003-00000004", "0?Blacklist-Handle,s,1") in new stack
    -- Executing [s@macro-Routein_IP_GSM_90003:3] Goto("SIP/trunk-90003-00000004", "Routeout_IP_GSM_90003,89164870584,1") in new stack
    -- Goto (Routeout_IP_GSM_90003,89164870584,1)
  == Channel 'SIP/trunk-90003-00000004' jumping out of macro 'Routein_IP_GSM_90003'
    -- Executing [89164870584@Routeout_IP_GSM_90003:1] Set("SIP/trunk-90003-00000004", "ORGINEXTEN=89164870584") in new stack
    -- Executing [89164870584@Routeout_IP_GSM_90003:2] Set("SIP/trunk-90003-00000004", "ORGINCONTEXT=Routeout_IP_GSM_90003") in new stack
    -- Executing [89164870584@Routeout_IP_GSM_90003:3] NoOp("SIP/trunk-90003-00000004", "It is not module or trunk group") in new stack
    -- Executing [89164870584@Routeout_IP_GSM_90003:4] Macro("SIP/trunk-90003-00000004", "trunkdial-failover-0.4,1,,89164870584,trunk-GSM3,") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:1] NoOp("SIP/trunk-90003-00000004", "do call out") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:2] GotoIf("SIP/trunk-90003-00000004", "0?Blacklist-Handle,s,1") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:3] GotoIf("SIP/trunk-90003-00000004", "0?4:5") in new stack
    -- Goto (macro-trunkdial-failover-0.4,s,5)
    -- Executing [s@macro-trunkdial-failover-0.4:5] Set("SIP/trunk-90003-00000004", "TCOUNT=4") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:6] GotoIf("SIP/trunk-90003-00000004", "0?7:10") in new stack
    -- Goto (macro-trunkdial-failover-0.4,s,10)
    -- Executing [s@macro-trunkdial-failover-0.4:10] Set("SIP/trunk-90003-00000004", "BEGINCOUNT=4") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:11] Set("SIP/trunk-90003-00000004", "OldCallerID=90003") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:12] Set("SIP/trunk-90003-00000004", "OldCallerName=Oleg Levitskiy") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:13] Set("SIP/trunk-90003-00000004", "TOUCH_MONITOR=90003-89164870584") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:14] NoOp("SIP/trunk-90003-00000004", "") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:15] Set("SIP/trunk-90003-00000004", "DLSTAT=UNKNOW}") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:16] SetCktCustom("SIP/trunk-90003-00000004", "sendrpid,no,no") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:17] GotoIf("SIP/trunk-90003-00000004", "1>0?1-dial,3") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,3)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:3] GotoIf("SIP/trunk-90003-00000004", "0?4:19") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,19)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:19] Set("SIP/trunk-90003-00000004", "SINGAL_TIMEOUT=10000000") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:20] Set("SIP/trunk-90003-00000004", "SINGAL_TIMEOUT=10000000") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:21] Set("SIP/trunk-90003-00000004", "SINGAL_TIMEOUT=10000000") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:22] Set("SIP/trunk-90003-00000004", "TIMEOUT(absolute)=10000000") in new stack
Channel will hangup at 2015-09-13 23:41:37.841 GMT+8.
    -- Executing [1-dial@macro-trunkdial-failover-0.4:23] GotoIf("SIP/trunk-90003-00000004", "0?24:29") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,29)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:29] GotoIf("SIP/trunk-90003-00000004", "0?1-out,1") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:30] GotoIf("SIP/trunk-90003-00000004", "0?setdod,1:1-dial,31") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,31)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:31] Set("SIP/trunk-90003-00000004", "CALLERID(name)=Oleg Levitskiy") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:32] Set("SIP/trunk-90003-00000004", "CALLERID(num)=90003") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:33] GotoIf("SIP/trunk-90003-00000004", "0?1-dial,35") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:34] GotoIf("SIP/trunk-90003-00000004", "0?2-dial,1") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:35] Set("SIP/trunk-90003-00000004", "_SIPSRTP=") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:36] Set("SIP/trunk-90003-00000004", "OUTDIALOPT=tTkKWwXx") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:37] Set("SIP/trunk-90003-00000004", "TMPTRUNK=5") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:38] Set("SIP/trunk-90003-00000004", "DIALNUMBER=89164870584") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:39] Set("SIP/trunk-90003-00000004", "DIALNUMBER=/89164870584") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:40] Set("SIP/trunk-90003-00000004", "DIALNUMBER=/89164870584") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:41] Set("SIP/trunk-90003-00000004", "ACCOUNT_RINGTIME=") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:42] Dial("SIP/trunk-90003-00000004", "YSGSM/5/89164870584,,tTkKWwXx") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called 5/89164870584
    -- YSGSM/5-1 is proceeding passing it to SIP/trunk-90003-00000004
    -- YSGSM/5-1 is making progress passing it to SIP/trunk-90003-00000004
    -- YSGSM/5-1 is making progress passing it to SIP/trunk-90003-00000004
    -- YSGSM/5-1 is making progress passing it to SIP/trunk-90003-00000004
    -- YSGSM/5-1 answered SIP/trunk-90003-00000004
[2015-05-21 05:55:08] NOTICE[1239]: dsp.c:1811 ast_dsp_process_gsm: tmp_max=32124,dtmf_multiple=3,on span 2
[2015-05-21 05:55:10] NOTICE[1233]: chan_ysgsm.c:5705 get_gsm_sip_status: gsm-sip-status is Normal Hang Up
[2015-05-21 05:55:10] NOTICE[1233]: chan_ysgsm.c:7114 gsm_dchannel: hangupcause=16      ========state=6
    -- Channel 1, span 4 got hangup, cause 16
    -- Channel 1, span 4 received AOC-E charging 4544864 units
    -- Executing [h@macro-trunkdial-failover-0.4:1] GotoIf("SIP/trunk-90003-00000004", "1?2:9") in new stack
    -- Goto (macro-trunkdial-failover-0.4,h,2)
    -- Executing [h@macro-trunkdial-failover-0.4:2] Set("SIP/trunk-90003-00000004", "GSMPORT=3") in new stack
    -- Executing [h@macro-trunkdial-failover-0.4:3] GotoIf("SIP/trunk-90003-00000004", "1?h,5:h,4") in new stack
    -- Goto (macro-trunkdial-failover-0.4,h,5)
    -- Executing [h@macro-trunkdial-failover-0.4:5] Set("SIP/trunk-90003-00000004", "DBILLSEC=3") in new stack
    -- Executing [h@macro-trunkdial-failover-0.4:6] Set("SIP/trunk-90003-00000004", "BILLING_UNIT=60") in new stack
    -- Executing [h@macro-trunkdial-failover-0.4:7] Set("SIP/trunk-90003-00000004", "DSECOND=60") in new stack
    -- Executing [h@macro-trunkdial-failover-0.4:8] Set("SIP/trunk-90003-00000004", "DB(duration/3)=1") in new stack
    -- Executing [h@macro-trunkdial-failover-0.4:9] GotoIf("SIP/trunk-90003-00000004", "0?10:19") in new stack
    -- Goto (macro-trunkdial-failover-0.4,h,19)
    -- Hungup 'YSGSM/5-1'
  == Spawn extension (macro-trunkdial-failover-0.4, 1-dial, 42) exited non-zero on 'SIP/trunk-90003-00000004' in macro 'trunkdial-failover-0.4'
  == Spawn extension (Routeout_IP_GSM_90003, 89164870584, 4) exited non-zero on 'SIP/trunk-90003-00000004'
TG800*CLI>

[править] Настройка направления входящих вызовов из GSM в 3CX.

Для выполнения звонков из GSM каналов шлюза Yeastar TG на внутренний телефон 3СХ, необходимо выполнить следующие действия:

В консоли управления сервером 3СХ

1. В консоли управления 3СХ создать входящее правило «Добавить DID»

Yeastar TG 3CX SetRoute3CXDID-1.jpg

2. В настройках входящего правила 3СХ указать параметры

Yeastar TG 3CX SetRoute3CXDID-2.jpg

В консоли управления Шлюзом, необходимо выполнить следующие действия:

1. Создать маршрут GSM в SIP.

Yeastar TG 3CX SetRouteTGto3CX-1.jpg

2. В настройках маршрута указать следующие параметры:

Yeastar TG 3CX SetRouteTGto3CX-2.png

[править] Проверка

Проверка направления звонков из канала GSM, на внутренний номер зарегистрированный на сервере 3СХ через необходимый VoIP канал выполняется на шлюзе с помощью консоли, подключенной по SSH в консоли сервера Asterisk на шлюзе, вызываемой с помощью команды «asterisk -rvvvvvvvv». В примере лога показана маршрутизация вызова, направляющегося из канала GSM «YSGSM/1-1», в канал VOIP «90001», на номер горячей линии 90001 (SIP/trunk-90001/90001). Лог звонка

TG800*CLI>
    -- Accepting overlap call from '+79164870584' to 's' on channel 1, span 2
    -- Starting simple switch on 'YSGSM/1-1'
    -- Executing [s@from-gsm1:1] Macro("YSGSM/1-1", "Routein_GSM_IP_GSM1-3CX,0,s") in new stack
    -- Executing [s@macro-Routein_GSM_IP_GSM1-3CX:1] Set("YSGSM/1-1", "CDR(userfield)=GSM->IP") in new stack
    -- Executing [s@macro-Routein_GSM_IP_GSM1-3CX:2] GotoIf("YSGSM/1-1", "0?Blacklist-Handle,s,1") in new stack
    -- Executing [s@macro-Routein_GSM_IP_GSM1-3CX:3] Goto("YSGSM/1-1", "Routeout_GSM_IP_GSM1-3CX,90001,1") in new stack
    -- Goto (Routeout_GSM_IP_GSM1-3CX,90001,1)
  == Channel 'YSGSM/1-1' jumping out of macro 'Routein_GSM_IP_GSM1-3CX'
    -- Executing [90001@Routeout_GSM_IP_GSM1-3CX:1] Set("YSGSM/1-1", "ORGINEXTEN=90001") in new stack
    -- Executing [90001@Routeout_GSM_IP_GSM1-3CX:2] Set("YSGSM/1-1", "ORGINCONTEXT=Routeout_GSM_IP_GSM1-3CX") in new stack
    -- Executing [90001@Routeout_GSM_IP_GSM1-3CX:3] NoOp("YSGSM/1-1", "It is not module or trunk group") in new stack
    -- Executing [90001@Routeout_GSM_IP_GSM1-3CX:4] Macro("YSGSM/1-1", "trunkdial-failover-0.4,1,,90001,trunk-90001,") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:1] NoOp("YSGSM/1-1", "do call out") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:2] GotoIf("YSGSM/1-1", "0?Blacklist-Handle,s,1") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:3] GotoIf("YSGSM/1-1", "0?4:5") in new stack
    -- Goto (macro-trunkdial-failover-0.4,s,5)
    -- Executing [s@macro-trunkdial-failover-0.4:5] Set("YSGSM/1-1", "TCOUNT=4") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:6] GotoIf("YSGSM/1-1", "0?7:10") in new stack
    -- Goto (macro-trunkdial-failover-0.4,s,10)
    -- Executing [s@macro-trunkdial-failover-0.4:10] Set("YSGSM/1-1", "BEGINCOUNT=4") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:11] Set("YSGSM/1-1", "OldCallerID=+79164870584") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:12] Set("YSGSM/1-1", "OldCallerName=+79164870584") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:13] Set("YSGSM/1-1", "TOUCH_MONITOR=+79164870584-90001") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:14] NoOp("YSGSM/1-1", "") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:15] Set("YSGSM/1-1", "DLSTAT=UNKNOW}") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:16] SetCktCustom("YSGSM/1-1", "sendrpid,no,no") in new stack
    -- Executing [s@macro-trunkdial-failover-0.4:17] GotoIf("YSGSM/1-1", "1>0?1-dial,3") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,3)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:3] GotoIf("YSGSM/1-1", "0?4:19") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,19)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:19] Set("YSGSM/1-1", "SINGAL_TIMEOUT=10000000") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:20] Set("YSGSM/1-1", "SINGAL_TIMEOUT=10000000") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:21] Set("YSGSM/1-1", "SINGAL_TIMEOUT=10000000") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:22] Set("YSGSM/1-1", "TIMEOUT(absolute)=10000000") in new stack
Channel will hangup at 2015-09-14 00:03:52.538 GMT+8.
    -- Executing [1-dial@macro-trunkdial-failover-0.4:23] GotoIf("YSGSM/1-1", "0?24:29") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,29)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:29] GotoIf("YSGSM/1-1", "0?1-out,1") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:30] GotoIf("YSGSM/1-1", "0?setdod,1:1-dial,31") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,31)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:31] Set("YSGSM/1-1", "CALLERID(name)=+79164870584") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:32] Set("YSGSM/1-1", "CALLERID(num)=+79164870584") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:33] GotoIf("YSGSM/1-1", "1?1-dial,35") in new stack
    -- Goto (macro-trunkdial-failover-0.4,1-dial,35)
    -- Executing [1-dial@macro-trunkdial-failover-0.4:35] Set("YSGSM/1-1", "_SIPSRTP=") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:36] Set("YSGSM/1-1", "OUTDIALOPT=tTkKWwXx") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:37] Set("YSGSM/1-1", "TMPTRUNK=trunk-90001") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:38] Set("YSGSM/1-1", "DIALNUMBER=90001") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:39] Set("YSGSM/1-1", "DIALNUMBER=/90001") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:40] Set("YSGSM/1-1", "DIALNUMBER=/90001") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:41] Set("YSGSM/1-1", "ACCOUNT_RINGTIME=") in new stack
    -- Executing [1-dial@macro-trunkdial-failover-0.4:42] Dial("YSGSM/1-1", "SIP/trunk-90001/90001,,tTkKWwXx") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP VRTP TOS bits 136
  == Using SIP VRTP CoS mark 4
    -- Called trunk-90001/90001
    -- SIP/trunk-90001-00000005 is ringing
    -- SIP/trunk-90001-00000005 answered YSGSM/1-1
    -- Executing [h@macro-trunkdial-failover-0.4:1] GotoIf("YSGSM/1-1", "0?2:9") in new stack
    -- Goto (macro-trunkdial-failover-0.4,h,9)
    -- Executing [h@macro-trunkdial-failover-0.4:9] GotoIf("YSGSM/1-1", "0?10:19") in new stack
    -- Goto (macro-trunkdial-failover-0.4,h,19)
  == Spawn extension (macro-trunkdial-failover-0.4, 1-dial, 42) exited non-zero on 'YSGSM/1-1' in macro 'trunkdial-failover-0.4'
  == Spawn extension (Routeout_GSM_IP_GSM1-3CX, 90001, 4) exited non-zero on 'YSGSM/1-1'
    -- Hungup 'YSGSM/1-1'
    -- Channel 1, span 2 received AOC-E charging 4272544 units
TG800*CLI>