ืื ื ืื ืืืืข ืขื ืื ืืืฉืืืช ืืช ืืืงืฆืื. ืืืื ืขื ืืชืื? ื ืจืื ืฉืืคืฉืจ ืืืขืืื, ืืื ืืืชื ืื ืงืฆืช ืืืชืจ ืืื. ืืืืืื ืื ืื ืขืืื))
ื ืืกืื ืืืขืื:
- ืื ื ืจืืฆื ืืืืืืจ ืืืคืื ืื SIP ืืืืืจืืช, ืืงืืืช ืืืืืื. ืืขืช ืืชืงื ืช ืืืคืื, ืืขืื ืืืชืจ ืืขืช ืืืืจืชื ืืืืฉ.
- ืืกืคืงืื ืจืืื ืืฉ ืคืืจืืืื ืืฉืืื ืืชืฆืืจื, ืืื ืฉืืจืืช ืืฉืืื ืืืฆืืจืช ืชืฆืืจืืช, ืืืจืื ืืื ื ืืฉืืื ืขื ืชืฆืืจืืช. ืืื ื ืื ืืืืช ืจืืฆื ืืืชืืืื ืขื ืืืื.
- ืคืชืจืื ืืช ืืกืคืงื โโืจืืื, ื) ืืชืืงืืื ืืกืคืง ืืื ืื ืืืขืจืืช ืืืคืื ืืืช, ื) ืื ืื ืืกืืจืืืื ืืืืฉืื, ืืจืื ืกืงืจืืคืืื, ืคืจืืืจืื, brrr...
ืืืื ื ืงืืื 3, ืืขืืจ ืฉืืฉ ืืขืจืืืช ืืกืคืงื โโืืฆืืื ืืช
Habrรฉ ืื ืืื ืืืชืืื ืื ืืืฆื ืืืืืืจ ืืืฉืืจืื ืืกืคืงืื ืฉืื ืื:
ืคืืจืื ืืฉืื
ืืื ืฉืืืืจืื ื-xkcd, ืื ืืชื ืื ืจืืฆื ืืืชืืืื ืขื 14 ืคืืจืืืื -
ืืฉืื ืืื:
{
"key": "sdgjdeu9443908",
"token": "590sfdsf8u984",
"model": "gxp1620",
"vendor": "grandstream",
"mac": "001565113af8",
"timezone_offset": "GMT+03",
"ntp_server": "pool.ntp.org",
"status": true,
"accounts": [
{
"name": "ะะพะฑะธะปะพะฝ",
"line": 1,
"sip_register": "sip.mobilonsip.ru",
"sip_name": "sip102",
"sip_user": "sip102",
"sip_password": "4321",
"sip_auth": "sip102"
}
]
}
ืื ืืื ืืืคืื ืืชื ืฆืจืื ืืืืืืจ ืืื ืืงืืื ืืงืืื SIP. ืืื ืคืฉืื ืืื. ืืชื ืืืื ืืจืืืช ืืืืืืืช ื ืืกืคืืช
ืืงืฆืืช ืฉืจืช ืืฉืื
ืืืืจืืืื ืฉื ืืืฆืจื ืืฉ ืืืจื ืืื ื ืงืืื ืฉืื ืืชืื: ืงื csv, ืจืฉืื ืืช ื-login-password-mac-address ืฉืื, ืฆืืจ ืงืืฆืื ืืืืฆืขืืช ืืกืงืจืืคื ืืงื ืืื ื ืฉืื ื, ืฉืื ืืืชื ืืชืืช ืืฉืจืช ืืืื ืืจื ื ืฉื Apache ืืืื ืืืื ืืกืืจ.
ืืคืกืงื ืืืื ืฉื ืืืืจืื ืืืจื ืืื ืืืืจืช ืื ืฉืืชื ืืืื ืื ืืืฆืคืื ืืช ืงืืืฅ ืืชืฆืืจื ืฉื ืืฆืจ.
ืืื ืื ืืื ืื ืงืืืกืืงืืช. ืืืืฉื ืืืืืจื ืืช ืขื ืฉืืืงืื ืืืืืืืจ ืืืืจืช ืฉืฆืจืื ืืืฆืืจ ืฉืจืช ืืื ืืจื ื ืืืื ืฉืื ืืืื ืืืง ืืื ืืคืืฆ'ื, ืืื ืืขืฉื ืจืง ืืืจ ืืื ืงืื. ืฆืืจ ืืฉืื ืืืืจืืช ืืืืฆืขืืช ืงืืฉืืจ.
ืืืื ื ืขืฆืืจ ืืื ืื ืืืืจ ืฉืืืขื ืื ืืืฉืืจื ื-SIP ืืืืืื ืืขืช ืืงืื ืืืืจืืช ืืืืฆืขืืช http/https, ืื ืฉืื ื ืื ืฉืืงืืื ืืืฉืืืื ืืืจืื (ftp, tftp, ftps). ืืืืจ ืืื, ืื ืืืคืื ืืืืข ืืช ืืชืืืช ื-MAC ืฉืื. ืืื, ื ืืฆืข ืฉื ื ืงืืฉืืจืื: ืืื ืืืฉื - ืืืืกืก ืขื ืืคืชื ืืืืฉืืจ, ืืฉื ื ืืืื, ืฉืคืืขื ืืืืฆืขืืช ืฉืืืื ืฉื ืืกืืืื ืืฉืืชืฃ ืืืชืืืช MAC.
ืืื ืื, ืื ื ืื ืืชืขืื ืขื zero-config, ืืืืืจ. ืืืืจืช ืืืืคืื ืืืคืก, ืืืืืจ. ืืืืจืช ืืืชื ืืจืฉืช ืืื ืืชืืื ืืขืืื. ืื, ืืชืจืืืฉ ืฉืื, ืืชื ืืืืจ ืืืชื ืืจืฉืช, ืืืฆืข ืืช ืืืืืจื ืืืงืืืื (ืืืืืจ ืืืชื ืืื ืืงืื ืืช ืืชืฆืืจื ืืฉืจืช ืืืงืฆืื), ืืื ืฉืืชื ืคืื ื ืงืืืื ืืืืืืจ ืืืืฉ ืืช ืืืืคืื ืืคื ืืฆืืจื ืืืืฆืขืืช ืืืงืฆืื. ืืืคืฆื ืฉื ืืคืฉืจืืช 66 ืืื ืืืืจืืืช ืฉืจืช ื-DHCP.
ืืื, ื ืืืก ืื ืืืืจื ืืืืื "ืืกืคืงื", ืื ืืืืื ืืชืงืฆืจื ื"ืืกืคืงื", ืืืงืฉื ืื ืชืืขืื ืื.
ืืขืื ืืฉืื: ืืฉืจืช ืืืกืคืงื โโืฉืื ื ืืื ืืืฉืง ืืฉืชืืฉ, ืืืืืจ. ืืืฉืง ืืฉืชืืฉ. ืืืื, ืืขืช ืขืชื, ืืื ืื ืืืื, ืื... ืื ื ืื ืฆืจืื ืืช ืื. ืืื ืืฉ API ืืฉืืืจื/ืืืืงื ืฉื ืืืืจืืช, ืงืืืช ืจืฉืืื ืฉื ืกืคืงืื ื ืชืืืื, ืืืืื, ืืื ืืชืืืจ ืืคื ืืงื ืื ืื ืฉื ืืคืจื ื-swagger.
ืืื ืืืฉืง API ืืื ืืืฉืง ืืฉืชืืฉ? ืื ืืืจ ืืฉ ืื ืืขืจืืช ืืืคืื ืืฉืื, ืืื ืืฉ ืื ืืงืืจ ืฉื ืืืฉืืจืื, ืฉืื ืื ื ืจืง ืฆืจืื ืืงืืช ืืช ืื ืชืื ืื ืืืื, ืืงืืคื ืืช ื-json ืืืจืืฉ ืืืคืจืกื ืืืชื ืืฉืจืช ืืืกืคืงื. ืืฉืจืช ืืืงืฆืื, ืืคื ืืืืืื ืืืคืืจืืื ืืงืืืฅ ื-json, ืืืชื ืืืืฉืืจ ืื ืืจืฉ ืืช ืืชืฆืืจื ืฉืื ืื ืื ืืืชื ืืืชื ืื ืืืืฉืืจ ืืื ื ืชืงืื ืื ืืื ื ืขืืื ืืงืจืืืจืืื ืื ืืืฆืืื ืื ืื ื-json ืื.
ืื ืืฆื ืืืงืจื-ืฉืืจืืช ืืืงืฆืื. ืฉืงืืจืืื ืื
ืชืืื ืืช ืขืืงืจืืืช:
-
ืืื ืืงืจื, ืืืฉื ืืืืืืช ืืชืฆืืจื ืืคื ืืื, ืืืจืืจืช ืืืื 10 ืืงืืช. ืื ืืจืฆืื ื ืืืคืื ืืช ืืชืฆืืจื ืืืืื ื ืฉืื, ืคืจืกื ืฉืื ืืช ืืชืฆืืจื.
-
ืคืืจืื ืืื ืืื ืืกืคืงืื, ืื ืืืชืืืืช ืืืกืจืืช ืืกืื ืื, ืืชื ืฉืืื json ืกืื ืืจืื, ืืืืืจ ืื ืฆืืื ืืืื.
-
ืื ืืืืืจืืช ืฉืืื ืคืงื ืืืืฉืืจืื ืืชืืขืืืช, ื ืืชื ืืจืืืช ืืช ืื ืืืืืจืื ืืืขืืืชืืื ืืืืื ืื ืืชื ืืจืืืช ืฉืืืืืช
-
ืืคืฉืจ ืืืฉืชืืฉ ืืงืืฉืืจ ื ืคืืฅ ืืื ืขื ืืกืืืื; ืื ืืืคืื ืืงืื ืชืฆืืจื ืืฉืื ืขื ืืื ืฆืืื ืืชืืืช ื-mac. ืื ืงืืฉืืจ ืืืฉื ืืืืฆืขืืช ืืคืชื.
-
ืืืฉืงื API ืื ืืืื (ื ืืืื) ืืืงืฆืืช ืืืืจืืช ืืืืคืื ืื (ืืงืฆืื) ืืืืืงืื ืืคื ืืฆืืืืช
-
ืืืื ืื. ืืื ืื ืืืื ืืฉืื ืืชืงื ืืช ืืคืืจืื ืฉื ืืชืฆืืจื ืฉืืื ืคืงื ืืืืกืืช ืืช ืื ืืืฆืืื ืืจืืืืื ืฉื ืืืฆืืช ืชืฆืืจื ืขื ืืืืงืืช. ืืื ืฉืืื ืืขืืื ืืฆืืจื ืืจืืจื.
ืืกืจืื ืืช:
ืขื ืื, ืื ื ืขืฉื ืฉืืืืฉ ืืืฆืคื ื ืืฉืื ืฆืืจื ืืชืื Sonata. ืึธืึตื. ืืชื ืืืื ืืืืื ืืืชืืื ืืืฉืชืืฉ ื-https ืขื ืืื ืืฆืืช nginx ืืคื ื ืกืื ืื ืืืฉื. ืืื ืขืืืื ืื ื ืขืฉื ืฉืืืืฉ ืืฉืืืืช ืงื ืืื ืืืช. ืืื? ืืคืจืืืงื ืขืืืื ืฆืขืืจ, ืืื ืืฉืืง ืืช ืืื ืืืืฉืืจืื ืืจืืฉืื ืื ืฉืื. ืืืืืื, ืื ื ืืืกืฃ ืจืขืืื ืืช ืืืฉืื. ืืชืจื ืืื, ืืื ืืืืื ืืช ืืื, ืื ืฉืื ื ืืชื ืืืื ืืจืืจื ืืช ืืืืืจืืช ืืจืฉืช, ืื ืจืื ืฉืืืื ืืืชืขืกืง ืืืชื ืืืคืชืืืช ืืฆืคื ื, tls ืืืงืืคืื, ืืื ืื ืืืื ืืืฉื.
ืืืกืจ ืืืฉืง ืืฉืชืืฉ. ืืืื ืื ืืืกืจืื ืืฉืืขืืชื ืขืืืจ ืืฉืชืืฉ ืืงืฆื, ืืื ืขืืืจ ืื ืื ืืขืจืืช, ืืื ืขืืจ ืืืกืืฃ ืืฉืื ืืืชืจ ืืืืฉืื ืืื. ืืื ืชืืื ืืืช ืืืฆืืจ ืืื ืขืืจ ืืืกืืฃ, ืืื ืื ื ืื ืืืื ืื ืืฉ ืฆืืจื ืืื?
ืืชืืฆืื?
ืฉืจืช ืืื ืืจื ื ืงืื ืืคืฉืื ืืืงืฆืืช ืืกืคืจ ืืืื ืืืคืื ืขื API ืื ืืืื.
ืฉืื, ืืื ืื ืืืืจ ืืขืืื?
- ืืชืงื ืช ืกืื ืื.
- ืื ื ืืืฆืจืื ืชืฆืืจื ืฉื json ืืืคืจืกืืื ืืืชื ืืกืื ืื.
- ืืืืจ ืืื ืื ื ืืงืืืื ืงืืฉืืจ ืืืงืฆืื ืืกืื ืื.
- ืืืืจ ืืื ืื ื ืืฆืืื ืื ืืช ืืงืืฉืืจ ืืื ืืืืคืื.
- ืืืืฉืืจ ืืืขื ืืช ืืชืฆืืจื
ืืฉ ืจืง ืฉื ื ืฉืืืื ืืคืขืืื ืืืื:
- ืื ื ืืืฆืจืื ืชืฆืืจื ืฉื json ืืืคืจืกืืื ืืืชื ืืกืื ืื
- ืืืืฉืืจ ืืืขื ืืช ืืชืฆืืจื
ืืืื ืืืคืื ืื ืืงืืืื?
ืกืคืงืื Grandstream, Fanvil, Yealink. ืืืืืจืืช ืืชืื ืืกืคืง ืืืืช ืคืืืช ืื ืืืชืจ, ืื ืขืฉืืืืช ืืืฉืชื ืืช ืืืชืื ืืงืืฉืื - ืืืชืื ืฉืืืื ืฆืืจื ืืืฆืข ืืืืงื ื ืืกืคืช.
ืืืื ืืืืื ืืชื ืืืื ืืงืืืข?
ืืืื. ืืชื ืืืื ืืฆืืื ืืช ืืืื ืฉืขื ืืืื ืืชืฆืืจื ืชืืื ืืืื ื.
ืืคื ืืชืืืช ืืง. ืืขืช ืฉืืืืช ืืชืฆืืจื ืืืืฆืขืืช ืืงืืฉืืจ ืืืืฉื ืฉื ืืืืฉืืจ, ืชืืืืง ืื ืืชืืืช ื-mac.
ืืคื ip. ืืคื ืืชืืืช IP ืืืืงืื ืฉืื ืืืืฉื ืืืงืฉื.
ืืื ืืงืืื ืืื ืืจืืงืฆืื ืขื ืกืื ืื?
ืืืืฆืขืืช API, ืืืฆืืข ืืงืฉืืช http. ื-API ืืืื ืืืื ืืืชืงื ื ืฉืื. ืื ื-API ืชืืื ืืืคืจื ื-Swaggger, ืืชื ืืืื ืืืฉืชืืฉ ืื
ืืืงืื ืืขืืื. ืืืจืื ืืื ืืืื, ืื ืืขืชื ืื ืกืืช ืืช ืื?
ืืืจื ืืงืื ืืืืชืจ ืืื ืืคืจืืก ืชืืื ืช docker ืืืืืกืกืช ืขื ืืืืจ
ืื ืื ืื ื ืืืืจ ืืช node.js?
ืื ืืฉ ืื ื ืืกืืื ืืฉืืืืฉ ื-JavaScript, ืื ืชืืื ืืืืืจืืช ืืื ืืื ืขืืื ืืื.
ืืื ืืืื ืคืืชืื ืกืื ืื?
ืืฉืืชื ืืืงืืช ืืช ืืืืจืืช ืฉืื. ืคืืชืื ื ืืกืฃ ืืื ืขื ืืื ืฉื ืืืฉืืืืช ืฉืื ืื ืืฉื ืืืืืืฆืื ืฉื ืืืืจืช ืืืืคืื. ืืฉ ืื ืืืืื ืืช ืืืจืืื ืืช ืืืืืจืืช ืืื ืืืืืืจ ืืคืชืืจื ืืืคืื, ืืืืกืืฃ ืืงืฆืืช ืคื ืงืก ืืชืืืืช, ืืืื ืืฉืื ืืืจ, ืืชืื ืืืขืจืืช.
ืกืืืื ืืชืืืืช
ืืฉืื ืืงืื ืืฆืขืืช/ืืชื ืืืืืืช/ืืขืจืืช ืืฉืืืืช ืืื ืืช, ืื... ืืืืื ืืืื ืืืืืช ืฉืืื ืชืืืจ ืืฉืื ืืฆืืจื ืื ืืืื.
ืื ื ืื ืืืืข ืืช ืชืืืชื ืืื ืืขืืืชืื ืฉืื ืฉืขืืจื, ืืขืฆื, ืืืงื ืืกืืคืงื/ืชืจืื ืืืคืื ืื ืืืืืงืืช. ืืืฆืืืืช, ืื ืฉืื ืจืืื ืฉืขืื ืืืืจืชื ืืขืืืื ืืขืืจืืื ืืคืจืืืงื ืืืจืืืช ืฉืื ืืช,
ืืงืืจ: www.habr.com