Страница 2 из 2

Re: freepbx 13 самому добавить людей в конференцию

Добавлено: 12 янв 2018, 09:26
puf
Доброго дня.
Решил все таки на чистом посмотреть как это отрабатывает.
В качестве софтфона использовался phonerlite и zoiper.
CentOS 7x32, asterisk 12.7.
Тупо создал трех пользователей

Код: Выделить всё

[01]
context =  nway-conf
type = friend
username = admin
defaultuser = 01
canreinvite = no
directmedia = no
nat = no
dtmfmode = auto
secret = 01
qualify = 4000
disallow = all
allow = alaw
allow = ulaw
host = dynamic


[02]
context =  nway-conf
type = friend
username = admin1
defaultuser = 02
canreinvite = no
directmedia = no
nat = no
dtmfmode = auto
secret = 02
qualify = 4000
disallow = all
allow = alaw
allow = ulaw
host = dynamic


[03]
context = nway-conf 
type = friend
username = admin3
defaultuser = 03
canreinvite = no
directmedia = no
nat = no
dtmfmode = auto
secret = 03
qualify = 4000
disallow = all
allow = alaw
allow = ulaw
host = dynamic
далее
features.conf

Код: Выделить всё

[featuremap]
disconnect = ***

[applicationmap]
nway-start => *0,self,Macro,nway-start
nway-ok => #7,self/caller,Macro,nway-ok
confbridge.conf

Код: Выделить всё

[nway_menu]
type = menu
*0 = leave_conference
extension.conf

Код: Выделить всё

[nway-conf]
exten => _X.,1,Answer
same => n,Set(__CONFNO=${EXTEN})
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
same => n,Set(CONFBRIDGE(bridge,language)=${CHANNEL(language)})
same => n,Set(CONFBRIDGE(user,announce_user_count)=no)
same => n,Set(CONFBRIDGE(user,announce_join_leave)=no)
same => n,Set(CONFBRIDGE(user,announce_only_user)=no)
same => n,Set(CONFBRIDGE(user,music_on_hold_when_empty)=yes)
same => n,ConfBridge(${CONFNO},,,nway_menu)
same => n,Goto(nway-invite,s,1)


[macro-nway-ok]
exten => s,1,ChannelRedirect(${BRIDGEPEER},nway-conf,${CONFNO},1)


[nway-invite]
exten => s,1,Read(NEW_CALLEE,dial,20,i)
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAYINV})
same => n,ExecIf($[${REGEX("H" ${DIAL_OPTIONS})} = 0]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}H))
same => n,Set(CALLER=${CALLERID(num)})
same => n,Set(DIALOUT_CONTEXT=${SIPPEER(${CALLER},context)})
same => n,ExecIf($["${DIALOUT_CONTEXT}" = ""]?Set(DIALOUT_CONTEXT=from-internal))
same => n,Dial(Local/${NEW_CALLEE}@from-internal,,gH)
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
same => n,ChannelRedirect(${CHANNEL(name)},nway-conf,${CONFNO},1)


[macro-nway-start]
exten => s,1,Set(__CONFNO=${UNIQUEID})
same => n,ChannelRedirect(${BRIDGEPEER},nway-conf,${CONFNO},1)
same => n,Read(NEW_CALLEE,dial,20,i)
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAYINV})
same => n,ExecIf($[${REGEX("H" ${DIAL_OPTIONS})} = 0]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}H))
same => n,Set(CALLER=${CALLERID(num)})
same => n,Set(DIALOUT_CONTEXT=${SIPPEER(${CALLER},context)})
same => n,ExecIf($["${DIALOUT_CONTEXT}" = ""]?Set(DIALOUT_CONTEXT=from-internal))
same => n,Dial(Local/${NEW_CALLEE}@${DIALOUT_CONTEXT},,gH)
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})<
same => n,ChannelRedirect(${CHANNEL(name)},nway-conf,${CONFNO},1)
Звоню к примеру с 01 на 05 попадаю в комнату. После чего звоню с 02 на 05 попадаю в ту же комнату, начинается конференция.
Нажимаю на 01 пользователе *0 срабатывает dtmf, я покидаю комнату после чего 02 весит и ждет меня. В это время я набираю 03 и поднимаю там трубку.
02 ждет в комнате, 01 и 03 идет разговор.
Но вот при нажатии #7 вообще ничего не происходит. Даже в открытой консоли. Как будто астериск не видит что я делаю донабор. Или это phonerlite не позволяет и по конфигам все вроде ок и надо пробовать на нормальных аппаратах.
Спасибо