Sonata - сервери таъминоти SIP

Ман намедонам, ки таъминотро бо чӣ муқоиса кунам. Шояд бо гурба? Чунин ба назар мерасад, ки бе он имконпазир аст, аммо бо он каме беҳтар аст. Хусусан агар он кор кунад))

Тартиб додани мушкилот:

  1. Ман мехоҳам телефонҳои SIP-ро зуд, осон ва бехатар насб кунам. Ҳангоми насб кардани телефон ва ҳатто бештар аз он ҳангоми аз нав танзим кардани он.
  2. Бисёре аз фурӯшандагон форматҳои конфигуратсияи худ, утилитаҳои худро барои тавлиди конфигуратсияҳо ва роҳҳои худ барои ҳифзи конфигуратсияҳо доранд. Ва ман аслан намехоҳам бо ҳама кор кунам.
  3. Бисёре аз роҳҳои ҳалли таъминот, а) ба як фурӯшанда ё як системаи телефон нигаронида шудаанд, б) татбиқи хеле душвор аст, бисёр скриптҳо, параметрҳо, brrr...

Дар робита ба банди 3, ман шарҳ медиҳам, ки системаҳои аълои таъминот мавҷуданд барои FreePBX, барои FusionPBX, барои Kazoo, ки дар он қолабҳои телефонҳои фурӯшандагони гуногун дастрас мебошанд. Қарорҳои тиҷоратӣ мавҷуданд, ки шумо инчунин метавонед кори телефонҳои истеҳсолкунандагони гуногунро дар модули таъминкунӣ танзим кунед, масалан, Yeastar PBX.

Habré инчунин аз дастурҳо оид ба насб кардани дастгоҳҳои фурӯшандагони гуногун пур аст: вақтҳо, два. Аммо, чунон ки мегӯянд, ҳама системаҳо камбудиҳои марговар доранд. Пас мо велосипеди худамонро месозем.

формати худ

Тавре ки онҳо дар xkcd мегӯянд, агар шумо нахоҳед бо 14 формат кор кунед - бо 15-ум баромад кунед. Аз ин рӯ, мо танзимоти умумиро барои ҳама гуна телефон истифода мебарем ва формати конфигуратсияи json-и худро эҷод мекунем.

Чизе монанди ин:

{
   "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 ҷойгир кунед ва ҳама чиз хуб мешавад.

Сархати навбатии дастур одатан ба шумо мегӯяд, ки шумо инчунин метавонед файли конфигуратсияи тавлидшударо рамзгузорӣ кунед.

Аммо ин ҳама классикӣ мебошанд. Муносибати муосир бо smoothies ва Twitter мегӯяд, ки шумо бояд веб-сервери омода созед, ки он ба мисли Apache на он қадар тавоно бошад, балки танҳо як кори хурдро иҷро кунад. Бо истифода аз истиноди конфигуратсияҳо тавлид ва ирсол кунед.

Биёед дар ин ҷо таваққуф кунем ва дар хотир дорем, ки қариб ҳама телефонҳои SIP ҳоло метавонанд конфигуратсияҳоро тавассути http/https қабул кунанд, аз ин рӯ мо татбиқи дигарро (ftp, tftp, ftps) баррасӣ намекунем. Пас, ҳар як телефон суроғаи MAC-и худро медонад. Аз ин рӯ, мо ду пайвандро месозем: як шахсӣ - дар асоси калиди дастгоҳ, дуюми умумӣ, ки бо истифодаи омезиши аломати умумӣ ва суроғаи MAC кор мекунад.

Инчунин, ман дар бораи конфигуратсияи сифр таваққуф намекунам, яъне. аз сифр танзим кардани телефон, яъне. шумо онро ба шабака пайваст кардед ва он ба кор шурӯъ кард. Не, дар сенарияи ман, шумо онро ба шабака пайваст мекунед, насби пешакӣ анҷом медиҳед (онро барои қабул кардани конфигуратсия аз сервери таъминкунанда насб кунед) ва сипас pina colada нӯшед ва телефонро ба тариқи зарурӣ аз нав танзим кунед. Тақсимоти Опсияи 66 масъулияти сервери DHCP аст.

Зимнан, ман аз гуфтани "таъмин" тамоман хаста шудаам, пас ин калима ба "таъминот" кӯтоҳ шудааст, лутфан маро назанед.

Ва як чизи дигар: сервери таъминкунандаи мо UI надорад, яъне. интерфейси корбар. Шояд, ҳоло, аммо боварӣ надорам, зеро ... Ба ман лозим нест. Аммо API барои нигоҳдорӣ/нест кардани танзимот, гирифтани рӯйхати фурӯшандагони дастгирӣ, моделҳо мавҷуд аст, ҳама чиз тибқи қонунҳои мушаххасоти swagger тавсиф карда мешавад.

Чаро API на UI? Зеро Ман аллакай системаи телефонии худро дорам, пас ман манбаи эътимоднома дорам, ки дар он ман танҳо бояд ин маълумотро гирифта, json-и заруриро тартиб диҳам ва онро дар сервери таъминкунанда нашр кунам. Ва сервери таъминкунанда, мувофиқи қоидаҳои дар файли json нишондодашуда, ба дастгоҳи зарурӣ конфигуратсияи худро медиҳад ё агар дастгоҳ дуруст набошад ё ба меъёрҳои дар ин json зикршуда мувофиқат накунад, онро намедиҳад.

Sonata - сервери таъминоти SIP

Микросервиси таъминкунӣ ҳамин тавр шуд. Даъват кард соната, рамзи сарчашма дар GitHub дастрас аст, инчунин вуҷуд дорад тасвири докери тайёр, мисоли истифодаи docker дар ин ҷо.

Хусусиятҳои асосӣ:

  • дар ҳар сурат, дастрасии маҳдуд ба конфигуратсия бо вақт, бо нобаёнӣ 10 дақиқа. Агар шумо хоҳед, ки конфигуратсияро дубора дастрас кунед, конфигуратсияро дубора нашр кунед.

  • як формат барои ҳама фурӯшандагон, ҳама тасҳеҳҳо дар соната хориҷ карда мешаванд, шумо json-и стандартиро мефиристед, ҳама гуна таҷҳизоти дастрасро танзим мекунед.

  • ҳама конфигуратсияҳое, ки ба дастгоҳҳо дода шудаанд, сабт карда мешаванд, ҳама минтақаҳои мушкилотро дар гузориш дидан мумкин аст ва хатогиҳо дида мешаванд

  • Як истиноди умумиро бо нишона истифода бурдан мумкин аст; ҳар як телефон конфигуратсияи худро бо нишон додани суроғаи Mac мегирад. Ё пайванди шахсӣ тавассути калид.

  • API-ҳо барои идоракунӣ (идоракунӣ) ва таъмини конфигуратсияҳо ба телефонҳо (таъминкунӣ) аз рӯи портҳо тақсим карда мешаванд

  • Санҷишҳо. Барои ман ислоҳ кардани формати конфигуратсияи додашуда ва фаро гирифтани ҳама ҳолатҳои муқаррарии додани конфигуратсия бо санҷишҳо хеле муҳим буд. То ки ин ҳама равшан кор кунад.

Эзоҳ:

То ҳол, рамзгузорӣ ба ҳеҷ ваҷҳ дар дохили Sonata истифода намешавад. Онхое. шумо албатта метавонед бо гузоштани nginx дар пеши соната ба истифодаи https оғоз кунед. Аммо усулхои моликият хануз ба кор бурда нашудаанд. Чаро? Лоиха хануз чавон аст, вай аввалин сад дастгохи худро ба кор андохтааст. Ва, албатта, ман фикру мулоҳизаҳо ҷамъ мекунам. Ғайр аз он, барои бехатар кардани ҳама чиз, то конфигуратсияҳо дар шабака бӯй карда нашаванд, эҳтимолан бо калидҳои рамзгузорӣ, tls ва хорпушт бо онҳо ташвиш кашидан лозим аст, аммо ин идома хоҳад буд.

Набудани UI. Шояд ин барои корбари ниҳоӣ як нуқсони назаррас бошад, аммо барои мудири система, утилитаи консол аз барномаи мукаммал муҳимтар аст. Нақшаи сохтани утилитаи консол вуҷуд дошт, аммо ман боварӣ надорам, ки оё он лозим аст?

Дар охир чӣ?

Веб-сервери хурд ва оддӣ барои таъмини якчанд моделҳои телефон бо API барои идора.

Бори дигар, ин чӣ гуна бояд кор кунад?

  1. Насби соната.
  2. Мо конфигуратсияи json эҷод мекунем ва онро дар соната нашр мекунем.
  3. Пас аз он мо аз соната истиноди таъминкуниро мегирем.
  4. Пас мо ин пайвандро дар телефон нишон медиҳем.
  5. Дастгоҳ конфигуратсияро бор мекунад

Дар амалиёти минбаъда танҳо ду қадам вуҷуд дорад:

  1. Мо конфигуратсияи json эҷод мекунем ва онро дар соната нашр мекунем
  2. Дастгоҳ конфигуратсияро бор мекунад

Кадом телефонҳо таблиғ карда мешаванд?

Фурӯшандагон Grandstream, Fanvil, Yealink. Конфигуратсияҳо дар дохили фурӯшанда кам ё камтар якхелаанд, аммо вобаста ба нармафзори миёнаравӣ метавонанд фарқ кунанд - шояд санҷиши иловагӣ лозим шавад.

Шумо кадом қоидаҳоро муқаррар карда метавонед?

Бо вақт. Шумо метавонед вақтро муайян кунед, ки то он конфигуратсия дастрас мешавад.
Бо суроғаи Mac. Ҳангоми пешниҳоди конфигуратсия тавассути истиноди шахсии дастгоҳ, суроғаи Mac низ тафтиш карда мешавад.
Бо ip. Бо суроғаи IP аз куҷо дархост карда шудааст.

Бо соната чӣ гуна бояд муошират кард?

Тавассути API, қабули дархостҳои http. API дар насби шумо дастрас хоҳад буд. Зеро API мушаххасоти swaggerро дастгирӣ мекунад, шумо метавонед истифода баред утилитаи онлайн барои дархостҳои санҷишӣ ба API.

Хуб, олӣ. Чизҳои олӣ, кӯшиш кардан чӣ гуна аст?

Роҳи осонтарин ин ҷойгиркунии тасвири докер дар асоси анбор аст соната-намуна. Дар анбор дастурҳои насбкунӣ мавҷуданд.

Чӣ мешавад, агар ман node.js-ро донам?

Агар шумо таҷрибаи истифодаи JavaScript дошта бошед, пас шумо зуд мефаҳмед, ки ҳама чиз дар ин ҷо чӣ гуна кор мекунад.

Оё таҳияи Sonata вуҷуд дорад?

Ман қисман ба ҳадафҳои худ расидам. Инкишофи минбаъдаи он масъалаи вазифаҳои ман дар мавзӯи автоматикунонии танзими телефон мебошад. Инчунин имкони васеъ кардани конфигуратсияҳо барои танзим кардани тугмаҳои телефон, илова кардани таъминоти китоби суроғаҳо вуҷуд дорад, шояд чизи дигаре, дар шарҳҳо нависед.

Хулоса ва ташаккур

Ман шодам, ки пешниҳодҳо/эътирозҳо/ эродҳо ва саволҳои созанда дошта бошам, зеро... Мумкин аст, ки ӯ чизеро нофаҳмо тасвир кардааст.

Ман инчунин ба ҳамаи ҳамкасбони худ, ки кӯмак карданд, маслиҳат доданд, озмоиш карданд ва телефонҳоро барои санҷишҳо пешниҳод карданд/тӯҳфа карданд, изҳори сипос мекунам. Дар асл, бисёр одамоне, ки ман бо онҳо дар ҷои кор муошират кардаам, дар лоиҳа ба дараҷаҳои гуногун ҷалб карда шудаанд, AsterConf'e, дар чатҳо ва почтаи электронӣ. Ташаккур барои фикру андешаҳо.

Манбаъ: will.com

Илова Эзоҳ