IP- . , - - . IP- , – . Asterisk. VoIP- « ». – Asterisk, ,
Yeastar TG100, . , – .

Yeastar TG100 – VoIP GSM SIM- , , IP- SIP. Yeastar TG100 IP-, . GSM-? , . , , – VoIP GSM , Asterisk IP-.
Yeastar? -, , , VoIP GSM , . -, Asterisk ( ). -, , VoIP GSM Yeastar «SIP- IP-», , , , IP-. .
, Yeastar TG100? – , . TG100, TG200 ( -), TG400 ( ) TG800 ( ) – .
?
, IP-.
- . IP- ,
- . ,
- SIP-. GSM- – , , , VoIP-
- . – SIP GSM, , . – GSM-, – SIP
?
, , – Web-. , SIP- IP- .
— VoIP VoIP.
: VoIP
: SIP
:::, . , SIP- , .
Yeastar TG100 VoIP- , Web- .
— VoIP VoIP « VoIP». , , .
: VoIP
: SIP
:/IP: IP- SIP-, .
: IP- SIP-
: SIP ID,
: SIP ID,
: ,
From ( ): SIP ID,
Web- , , . , Web- .
— . wav- 1.8 . :
gsm 6.10 8kHz, Mono,1Kb/s
alaw/ulaw 8kHz, Mono,1Kb/s
pcm 8kHz, Mono, 16Kb/s
Web- . , .
Yeastar TG100
SSH, .
– – LAN SSH, .

SSH- . — 8022, — root, — ys123456. , Linux.
— /etc/asterisk, , Web-, . — /persistent/custom-cfg. gncustom.conf, , - .
cat /persistent/custom-cfg/gncustom.conf :
[modifyfile]
/etc/asterisk/extensions.conf
/etc/asterisk/sip.conf
/etc/asterisk/users.conf
/etc/asterisk/iax.conf
/etc/asterisk/queues.conf
/etc/asterisk/features.conf
/etc/asterisk/voicemail.conf
/etc/asterisk/meetme.conf
/etc/asterisk/rc_org.conf
/etc/asterisk/rtp.conf
/etc/asterisk/http.conf
/etc/asterisk/musiconhold.conf
/etc/asterisk/followme.conf
/etc/asterisk/logger.conf
/etc/asterisk/manager.conf
/etc/asterisk/chan_dahdi.conf
/etc/asterisk/digital-channel.conf
[replacefile]
/etc/asterisk/dahdi-channels.conf
, [modifyfile] — ; [replacefile] — .
, - :
- , /etc/asterisk
- , []
, /persistent/custom-cfg <>_custom.conf. <> — /etc/asterisk «.conf». , /etc/asterisk/users.conf, users_custom.conf. , , . :
[new-context]
parameter1=value1
parameter2=value2
, , . . Web- –
, –
.
Web- SIP-, 401, 402 403. SIP /etc/asterisk/users.conf. — context. 401 — Voip-Account-401, 402 — Voip-Account-402, 403 — Voip-Account-403.
/etc/asterisk/extensions.conf :
[Voip-Account-401]
[Voip-Account-402]
[Voip-Account-403]
, . , , .
- , SIP . extensions.conf — /persistent/custom-cfg extensions_custom.conf :
[from-internal]
exten => _4XX,1,NoOp(Internal Call)
exten => _4XX,n,Dial(${trunk-${EXTEN}},30,Ttr)
exten => _4XX,n,Hangup()
, , 4, .
- . extensions_custom.conf :
[Voip-Account-401]
include => from-internal
[Voip-Account-402]
include => from-internal
[Voip-Account-403]
include => from-internal
- Web-
- /etc/asterisk/extensions.conf ,
- —
, , GSM-, SIP-, :
- . /var/lib/asterisk/sounds/record
- . «1» 401. «2» , 401, 402, 403
- , , ,
extensions_custom.conf :
[arttel-ivr]
exten => _.,1,NoOp(Custom IVR by ArtTel)
exten => _.,n,Set(CDR(userfield)=SIP_TRUNK->IP)
exten => _.,n,Answer()
exten => _.,n,Set(TIMEOUT(digit)=2)
exten => _.,n,Background(record/arttel_ivr_alaw)
exten => _.,n,WaitExten(3)
exten => t,1,NoOp(Goto by Timeout)
exten => t,n,Macro(arttel-ringgroup,ringall,402-403-401,15,2)
exten => t,n,Hangup()
exten => 1,1,NoOp(Goto by pressed 1)
exten => 1,n,Dial(${trunk-401},30,T)
exten => 1,n,Hangup()
exten => 2,1,NoOp(Goto by pressed 2)
exten => 2,n,Macro(arttel-ringgroup,linear,402-403-401,15,2)
exten => 2,n,Hangup()
[macro-arttel-ringgroup]
exten => s,1,Set(RG_Type=${ARG1})
exten => s,n,Set(RG_Nums=${ARG2})
exten => s,n,NoOp(Macro RingGroup type: ${RG_Type} for numbers: $RG_Nums)
exten => s,n,GotoIf($[ "${RG_Type}" = "linear" ]?linear,1:ringall,1)
exten => s,n,Hangup()
exten => ringall,1,Set(COUNT=1)
exten => ringall,n,Set(REPEAT_COUNT=1)
exten => ringall,n,Set(Repeat=${ARG4})
exten => ringall,n,Set(TimeDial=${ARG3})
exten => ringall,n(loop),Set(RG_Dial=${RG_Dial}&${trunk-${CUT(RG_Nums,-,${COUNT})}})
exten => ringall,n,NoOp(RG_Dial=${RG_Dial})
exten => ringall,n,Set(COUNT=$[${COUNT} + 1])
exten => ringall,n,GotoIf(${CUT(RG_Nums,-,${COUNT})}?loop)
exten => ringall,n(repeat),Dial(${RG_Dial:1},${TimeDial},T)
exten => ringall,n,Set(REPEAT_COUNT=$[${REPEAT_COUNT} + 1])
exten => ringall,n,GotoIf($[ ${REPEAT_COUNT} <= ${Repeat} ]?repeat)
exten => ringall,n,Hangup()
exten => linear,1,Set(COUNT=1)
exten => linear,n,Set(REPEAT_COUNT=1)
exten => linear,n,Set(Repeat=${ARG4})
exten => linear,n,Set(TimeDial=${ARG3})
exten => linear,n(loop),Dial(${trunk-${CUT(RG_Nums,-,${COUNT})}},${TimeDial},T)
exten => linear,n,Set(COUNT=$[${COUNT} + 1])
exten => linear,n,GotoIf(${CUT(RG_Nums,-,${COUNT})}?loop)
exten => linear,n,Set(COUNT=1)
exten => linear,n,Set(REPEAT_COUNT=$[${REPEAT_COUNT} + 1])
exten => linear,n,GotoIf($[ ${REPEAT_COUNT} <= ${Repeat} ]?loop)
exten => linear,n,Hangup()
, , GSM-, SIP-. users_custom.conf /persistent/custom-cfg :
[gsm_1]
context=arttel-ivr
[trunk-arttel_telecom]
context=arttel-ivr
Web-.
, – . :
- , 89… GSM
- , 10 , 83..., 84… 88… SIP
- , 810… GSM
extensions_custom.conf [from-internal] :
exten => _89XX.,1,NoOp(Outbound dial to Mobile)
exten => _89XX.,n,Set(CDR(userfield)=IP->MOBILE)
exten => _89XX.,n,Set(STRATEGY=0)
exten => _89XX.,n,Macro(trunkdial-failover-0.4,1,,${EXTEN:0},trunk-GSM1,)
exten => _89XX.,n,Hangup()
exten => _8[348]XXXXXXXXX,1,NoOp(Outbound dial to Russia)
exten => _8[348]XXXXXXXXX,n,Set(CDR(userfield)=IP->SIP_TRUNK)
exten => _8[348]XXXXXXXXX,n,Set(STRATEGY=0)
exten => _8[348]XXXXXXXXX,n,Macro(trunkdial-failover-0.4,1,,${EXTEN:0},trunk-arttel_telecom,)
exten => _8[348]XXXXXXXXX,n,Hangup()
exten => _810XX.,1,NoOp(Outbound dial to International)
exten => _810XX.,n,Set(CDR(userfield)=IP->MOBILE)
exten => _810XX.,n,Set(STRATEGY=0)
exten => _810XX.,n,Macro(trunkdial-failover-0.4,1,,${EXTEN:0},trunk-GSM1,)
exten => _810XX.,n,Hangup()
: _89XX. — , _8[348]XXXXXXXXX — , _810XX. — . trunkdial-failover-0.4. . , . ,
Yeastar TG400 Yeastar TG100, :
exten => _89XX.,n,Macro(trunkdial-failover-0.4,1,,${EXTEN:0},trunk-GSM1,)
:
exten => _89XX.,n,Macro(trunkdial-failover-0.4,4,,${EXTEN:0},trunk-GSM1,trunk-GSM2,trunk-GSM3,trunk-GSM4,)
.
, , 2-10 . , , , , -, . , , , . , GSM-. , , VoIP GSM
Yeastar TG100 .