แแ แแแชแ แ แ แจแแแแแแ แ แฃแแ แฃแแแแแงแแคแ. แแฅแแแ แแแขแแกแแแ แแ แแแ? แ แแแแ แช แฉแแแก, แแแแก แแแ แแจแ แจแแกแแซแแแแแแแ, แแแแ แแ แแแกแแแ แแ แแแ แชแแขแ แฃแแแแแกแแ. แแแแฃแแแขแแก แแฃ แแฃแจแแแแก))
แแ แแแแแแแก แคแแ แแฃแแแ แแแ:
- แแแแแ แแแแแงแแแ 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, แฉแแฌแแ แแ แแฅแแแแ แจแแกแแแ-แแแ แแแ-mac-แแแกแแแแ แแ, แจแแฅแแแแแ แคแแแแแแ แฉแแแแ แกแแแฃแแ แแแแก แกแแ แแแขแแก แแแแแงแแแแแแ, แแแแแแแแกแแ แแกแแแ Apache แแแ แกแแ แแแ แแก แฅแแแจ แแ แงแแแแแคแแ แ แแแ แแแ แแฅแแแแ.
แกแแฎแแแแซแฆแแแแแแแก แจแแแแแแ แแฃแแฅแขแ แฉแแแฃแแแแ แแ แแแฃแแแแแแ, แ แแ แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแแ แแ แแแฃแแ แแแแคแแแฃแ แแชแแแก แคแแแแแก แแแจแแคแแ แ.
แแแแ แแ แแก แงแแแแแคแแ แ แแแแกแแแแ. แกแแฃแแแแ แแ แขแแแขแแ แแก แแแแแแแแ แแแ แแแแแแแ แแแแแแก, แ แแ แแฅแแแ แฃแแแ แแแแแแแแ แแแ แแแ แกแแ แแแ แ, แ แแแแแแช แแ แแฅแแแแ แแกแแแ แซแแแแ แ, แ แแแแ แช Apache, แแแแ แแ แแแแแแแแแก แแฎแแแแ แแ แ แฌแแ แแแแแแก. แจแแฅแแแแแ แแ แแแแแแแแแ แแแแคแแแฃแ แแชแแแแ แแแฃแแแก แแแแแงแแแแแแ.
แแแแแ แจแแแฉแแ แแแ แแฅ แแ แแแแฎแกแแแแแก, แ แแ แแแแฅแแแก แงแแแแ SIP แขแแแแคแแแก แแฎแแ แจแแฃแซแแแ แแแแคแแแฃแ แแชแแแก แแแฆแแแ http/https-แแก แกแแจแฃแแแแแแ, แแแแขแแ แฉแแแ แแ แแแแแแฎแแแแแ แกแฎแแ แแแแฎแแ แชแแแแแแแแก (ftp, tftp, ftps). แจแแแแแ แแแแแแฃแแแ แขแแแแคแแแแ แแชแแก แแแแแกแ MAC แแแกแแแแ แแ. แแฅแแแแ แแแแแแแแแแ แ, แฉแแแ แแแแแแแแแแ แแ แแแฃแแก: แแ แแ แแแ แแแ - แแแฌแงแแแแแแแแก แแแกแแฆแแแแก แกแแคแฃแซแแแแแ, แแแแ แ แแแแแแ, แ แแแแแแช แแฃแจแแแแก แกแแแ แแ แขแแแแแแกแ แแ MAC แแแกแแแแ แแแก แแแแแแแแชแแแ.
แแกแแแ, แแ แจแแแฉแแ แแแแ zero-config-แแ, แ.แ. แขแแแแคแแแแก แแแงแแแแแ แแฃแแแแแ, แ.แ. แแฅแแแ แจแแแแ แแแ แแแ แฅแกแแแจแ แแ แแแแฌแงแ แแฃแจแแแแ. แแ แ, แฉแแแก แกแชแแแแ แจแ, แแฅแแแ แจแแแแ แแแแ แแแก แฅแกแแแจแ, แแแแแแแแ แฌแแแแกแฌแแ แ แแแกแขแแแแชแแ (แแแแงแแแแ แแแแคแแแฃแ แแชแแแก แแแกแแฆแแแแ แแ แแแแแแแ แแแแก แกแแ แแแ แแแแ) แแ แจแแแแแ แแแแแแ pina colada แแ แกแแญแแ แแแแแกแแแแแ แแแแแแฎแแแ แขแแแแคแแแแก แแแแคแแแฃแ แแชแแ. 66 แแแ แแแแขแแก แแแแแฌแแแแแ แแ แแก DHCP แกแแ แแแ แแก แแแกแฃแฎแแกแแแแแแแแ.
แกแฎแแแแ แจแแ แแก, แกแ แฃแแแแ แแแแแฆแแแ โแแ แแแแแแ แแแแกโ แแฅแแแ, แแแแขแแ แกแแขแงแแ แจแแแแแแแแ โแแแแฃแแแแแแโ, แแแฎแแ, แฌแแฎแแแแก แแฃ แแแแแ แแ.
แแ แแแแแ แแ แแ แ แแ: แฉแแแแก แแ แแแแแแแ แแแแก แกแแ แแแ แก แแ แแฅแแก UI, แ.แ. แแแแฎแแแ แแแแแก แแแขแแ แคแแแกแ. แจแแกแแซแแแ, แฏแแ แฏแแ แแแแ, แแแแ แแ แแ แแแ แแแ แฌแแฃแแแแฃแแ, แ แแแแแ... แแ แแ แแญแแ แแแแ. แแแแ แแ แแ แกแแแแแก API แแแ แแแแขแ แแแแก แจแแกแแแแฎแแ/แฌแแจแแแกแแแแก, แแฎแแ แแแญแแ แแแ แแแแฌแแแแแแแแแก, แแแแแแแแแก แกแแแก แแแกแแฆแแแแ, แงแแแแแคแแ แ แแฆแฌแแ แแแแ swagger-แแก แกแแแชแแคแแแแชแแแก แแแแแแแแแก แแแฎแแแแแ.
แ แแขแแ API แแ แแ แ UI? แแแแขแแ แ แแ แแ แฃแแแ แแแฅแแก แกแแแฃแแแ แ แกแแขแแแแคแแแ แกแแกแขแแแ, แจแแแแแ แแแฅแแก แ แฌแแฃแแแแแแ แกแแแแแแแแก แฌแงแแ แ, แกแแแแช แฃแแ แแแแ แฃแแแ แแแแฆแ แแก แแแแแชแแแแแ, แจแแแแแแแแ แกแแญแแ แ json แแ แแแแแแแฅแแแงแแ แแ แแแแแแแ แแแแก แกแแ แแแ แแ. แแ แแแแฃแแแแแก แกแแ แแแ แ, json แคแแแแจแ แแแแแแแแฃแแ แฌแแกแแแแก แแแฎแแแแแ, แแแกแชแแแก แกแแญแแ แ แแแฌแงแแแแแแแแก แแแก แแแแคแแแฃแ แแชแแแก แแ แแ แแแกแชแแแก แแแก, แแฃ แแแฌแงแแแแแแแ แแ แแ แแก แกแฌแแ แ แแ แแ แแแแแงแแคแแแแแก แแ json-แจแ แแแแแแแแฃแ แแ แแขแแ แแฃแแแแก.
แแกแ แแฆแแแฉแแแ แแแฌแแแแแแก แแแแ แแกแแ แแแกแ. แแแฃแ แแแ
แซแแ แแแแแ แแแฎแแกแแแแแแแแแ:
-
แแแแแกแแแแ แจแแแแฎแแแแแจแ, แแแแคแแแฃแ แแชแแแแ แฌแแแแแ แจแแแฆแฃแแฃแแ แแ แแแ, แแแแฃแแแกแฎแแแแแ 10 แฌแฃแแ. แแฃ แแกแฃแ แ แแแแคแแแฃแ แแชแแแก แฎแแแแฎแแ แฎแแแแแกแแฌแแแแแแแ, แฎแแแแฎแแ แแแแแแฅแแแงแแแ แแแแคแแแฃแ แแชแแ.
-
แแ แแ แคแแ แแแขแ แงแแแแ แแแแงแแแแแแแกแแแแก, แงแแแแ แแแ แแฅแขแแ แแแ แแแแฆแแแฃแแแ แกแแแแขแแจแ, แแฅแแแ แแแแแแแแ แกแขแแแแแ แขแแแแแฃแ json-แก, แแแแแคแแแฃแ แแ แแแ แแแแแกแแแแ แฎแแแแแกแแฌแแแแ แแฆแญแฃแ แแแแแแแก.
-
แแแฌแงแแแแแแแแแแ แแแชแแแฃแแ แงแแแแ แแแแคแแแฃแ แแชแแ แแฆแ แแชแฎแฃแแแ, แงแแแแ แแ แแแแแแฃแ แ แกแคแแ แแก แแแฎแแ แจแแกแแซแแแแแแแ แแฃแ แแแแจแ แแ แจแแชแแแแแแแก แแแฎแแ
-
แจแแกแแซแแแแแแแ แแ แแ แกแแแ แแ แแแฃแแแก แแแแแงแแแแแ แแแขแแแแแ แแ แแแ; แแแแแแฃแแ แขแแแแคแแแ แแฆแแแก แกแแแฃแแแ แแแแคแแแฃแ แแชแแแก mac แแแกแแแแ แแแก แแแแแแแแแ. แแ แแแ แแแ แแแฃแแ แแแกแแฆแแแแก แกแแจแฃแแแแแแ.
-
API-แแแ แแแแแฏแแแแขแแกแแแแก (แแแ แแแ) แแ แขแแแแคแแแแแแกแแแแก แแแแคแแแฃแ แแชแแแก แแแฌแแแแแแกแแแแก (แแแฌแแแแแ) แแงแแคแ แแแ แขแแแแก แแแฎแแแแแ
-
แขแแกแขแแแ. แฉแแแแแแก แซแแแแแ แแแแจแแแแแแแแแ แแงแ แแแชแแแฃแแ แแแแคแแแฃแ แแชแแแก แคแแ แแแขแแก แแแคแแฅแกแแ แแแ แแ แแแแคแแแฃแ แแชแแแก แแแชแแแแก แงแแแแ แฉแแแฃแแแแ แแแ แกแแขแฃแแชแแแก แขแแกแขแแแแ แแแคแแ แแ. แแกแ, แ แแ แแก แงแแแแแคแแ แ แแแแแแ แแฃแจแแแแก.
Cons:
แฏแแ แฏแแ แแแแ, แแแจแแคแแ แ แแ แแแแแ แแ แแ แแแแแแงแแแแแ แกแแแแขแแจแ. แแแแ. แแฅแแแ, แ แ แแฅแแ แฃแแแ, แจแแแแซแแแแ แแแแฌแงแแ https-แแก แแแแแงแแแแแ, แแแแแแแแแ, แกแแแแขแแก แฌแแ nginx-แแก แแแงแแแแแแ. แแแแ แแ แกแแแฃแแ แแแแก แแแแแแแแ แฏแแ แแ แแ แแก แแแแแงแแแแแฃแแ. แ แแขแแ? แแ แแแฅแขแ แฏแแ แแแแแ แแฎแแแแแแ แแแ, แแแ แแแแแฃแจแแ แแแแแกแ แแแ แแแแ แแกแแฃแแ แแแฌแงแแแแแแแ. แแ, แ แ แแฅแแ แฃแแแ, แแแแ แแแแ แแแแแแกแ แแ แแแแแฎแแแฃแ แแแแแก. แแแ แแ แแแแกแ, แแแแกแแแแแก, แ แแ แงแแแแแคแแ แ แฃแกแแคแ แแฎแ แแงแแก, แแกแ, แ แแ แแแแคแแแฃแ แแชแแแแ แแ แแแฎแแแก แฅแกแแแจแ, แแแแแ แฆแแ แก แจแแฌแฃแฎแแแ แแแจแแคแแ แแก แแแกแแฆแแแแแแ, tls-แแ แแ แแแแแแ แแ แแแ แแฆแแ แแแ, แแแแ แแ แแก แแฅแแแแ แแแแ แซแแแแแ.
แแแขแแ แคแแแกแแก แแแแแแแแแ. แจแแกแแซแแแ, แแก แกแแแแแแ แแแแฎแแแ แแแแแกแแแแก แแแแจแแแแแแแแแ แแแแฃแกแแ, แแแแ แแ แกแแกแขแแแแก แแแแแแแกแขแ แแขแแ แแกแแแแก แแแแกแแแแก แแ แแแ แแแ แฃแคแ แ แแแแจแแแแแแแแแแ, แแแแ แ แกแ แฃแแคแแกแแแแแ แแแแแแแชแแ. แแงแ แแแแแแแแแ แแแแกแแแแก แแแแฃแแแแฃแ แ แแ แแแ แแแแก แจแแฅแแแ, แแแแ แแ แแแ แฌแแฃแแแแฃแแ แแ แแแ , แกแแญแแ แแ แแฃ แแ แ?
แจแแแแแ?
แแชแแ แ แแ แแแ แขแแแ แแแ แกแแ แแแ แ แ แแแแแแแแ แขแแแแคแแแแก แแแแแแแก API-แแ แแแ แแแแกแแแแก.
แแแแแ แแ แแฎแแ, แ แแแแ แฃแแแ แแแฃแจแแแก แแก?
- แกแแแแขแแก แแแงแแแแแ.
- แฉแแแ แแฅแแแแ json แแแแคแแแฃแ แแชแแแก แแ แแแฅแแแงแแแแ แแแก แกแแแแขแแจแ.
- แจแแแแแ แฉแแแ แแแฆแแแ แฃแแ แฃแแแแแงแแคแแก แแแฃแแก แกแแแแขแแแแ.
- แจแแแแแ แขแแแแคแแแจแ แแแแฃแแแแแแ แแ แแแฃแแก.
- แแแฌแงแแแแแแแ แแขแแแ แแแแ แแแแคแแแฃแ แแชแแ
แแแแแแแแ แแแแ แแชแแแจแ แแฎแแแแ แแ แ แแแแแฏแแ:
- แฉแแแ แแฅแแแแ json แแแแคแแแฃแ แแชแแแก แแ แแแฅแแแงแแแแ แแแก แกแแแแขแแจแ
- แแแฌแงแแแแแแแ แแขแแแ แแแแ แแแแคแแแฃแ แแชแแ
แ แแแแแ แขแแแแคแแแแแแก แแแแฃแแแ แแแแชแแ แแแฎแแแแ?
แแแแงแแแแแแแแ Grandstream, Fanvil, Yealink. แแแแคแแแฃแ แแชแแแแ แแแแงแแแแแแจแ แแแข-แแแแแแแแ แแแแแแ, แแแแ แแ แจแแแซแแแแ แแแแกแฎแแแแแแแแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแฎแแแแแ - แจแแแซแแแแ แกแแญแแ แ แแแฎแแแก แแแแแขแแแแแ แขแแกแขแแ แแแ.
แ แ แฌแแกแแแ แจแแแแซแแแแ แแแแฌแแกแแ?
แแ แแแ. แแฅแแแ แจแแแแซแแแแ แแแฃแแแแแ แแ แ, แกแแแแ แแแแคแแแฃแ แแชแแ แฎแแแแแกแแฌแแแแแ แแฅแแแแ.
แแแ แแแกแแแแ แแแ. แแแฌแงแแแแแแแแก แแแ แแแ แแแฃแแแก แกแแจแฃแแแแแแ แแแแคแแแฃแ แแชแแแก แแแแแแแแแกแแก, แแกแแแ แแแฌแแแแแ Mac แแแกแแแแ แแ.
IP-แแ. IP แแแกแแแแ แแแ, แกแแแแแแแช แแแฎแแ แแแแฎแแแแ.
แ แแแแ แแแแแแแแจแ แแแแแ แกแแแแขแแกแแแ?
API-แแก แกแแจแฃแแแแแแ, http แแแแฎแแแแแแแก แจแแแแแแ. API แฎแแแแแกแแฌแแแแแ แแฅแแแแ แแฅแแแแก แแแกแขแแแแชแแแจแ. แแแแขแแ แ แแ API แแฎแแ แก แฃแญแแ แก swagger แกแแแชแแคแแแแชแแแก, แจแแแแซแแแแ แแแแแแงแแแแ
แแแ แแ, แแจแแแแแแ แแ. แแแแแ แ แ แแฆแแชแแแแแ, แ แแแแ แฃแแแ แกแชแแแ?
แฃแแแ แขแแแแกแ แแแแ แแแแแ แแก แแแแแกแแฎแฃแแแแแก แแแแแแแแแ แกแแชแแแแ แแแคแฃแซแแแแฃแแ
แ แ แแแฎแแแแ, แแฃ แแแชแ node.js?
แแฃ แแฅแแแ แแแฅแแ JavaScript-แแก แแแแแงแแแแแแก แแแแแชแแแแแแ, แแแจแแ แกแฌแ แแคแแ แแแแแแแ, แ แแแแ แแฃแจแแแแก แแฅ แงแแแแแคแแ แ.
แแฅแแแแ แกแแแแขแแก แแแแแแแแ แแแ?
แแแฌแแแแแ แแ แแแแแฆแฌแแ แฉแแแก แแแแแแแก. แจแแแแแแแ แแแแแแแแ แแแ แแ แแก แฉแแแ แแแแชแแแแแแก แกแแแแแฎแ แขแแแแคแแแแก แแแงแแแแแแก แแแขแแแแขแแแแชแแแก แแแแแแ. แแกแแแ แแ แแก แจแแกแแซแแแแแแแ แแแแคแแ แแแแแ แแแแคแแแฃแ แแชแแแแ แขแแแแคแแแแก แฆแแแแแแแแก แแแแคแแแฃแ แแชแแแกแแแแก, แแแแแแขแแ แแแกแแแแ แแแแแก แฌแแแแแก แฃแแ แฃแแแแแงแแคแ, แจแแกแแซแแแ แกแฎแแ แ แแ, แแแฌแแ แแ แแแแแแขแแ แแแจแ.
แจแแฏแแแแแ แแ แแแแแแแ แแแ
แแแฎแแ แฃแแ แแแฅแแแแ แแฅแแแแแก แแแแกแขแ แฃแฅแชแแฃแแ แฌแแแแแแแแแแแ/แแ แแขแแกแขแแแ/แแแแแแขแแ แแแ แแ แแแแฎแแแแ, แ แแแแแ... แจแแกแแซแแแ, แแแ แ แแฆแแช แแแฃแแแแ แแ แแฆแฌแแ แ.
แแกแแแ แแแแแแแแก แแฃแฎแแ แงแแแแ แฉแแแก แแแแแแแก, แแแแช แแแแฎแแแ แ, แฃแ แฉแแ, แแแแแกแชแแแ แแ แแแแแแฌแแแ/แแฉแฃแฅแ แขแแแแคแแแแแ แขแแกแขแแแแกแแแแก. แกแแแแแแแแแแจแ, แแแแ แ แแแแแแแแ, แแแกแแแแแช แกแแแกแแฎแฃแ แจแ แแฅแแแแ แฃแ แแแแ แแแแ, แกแฎแแแแแกแฎแแ แฎแแ แแกแฎแแ แแ แแก แฉแแ แแฃแแ แแ แแแฅแขแจแ,
แฌแงแแ แ: www.habr.com