In alt roimhe seo DĂșirt mĂ© leat conas seisiĂșn Ășdaraithe a fhĂĄil agus Ă© a chur in ionad macra Ăłstach ĂĄitiĂșil. San Airteagal seo inseoidh mĂ© duit conas Zabbix a nascadh le Asterisk gan scripteanna agus bogearraĂ seachtracha.
Rugadh an smaoineamh âcairde a dhĂ©anamhâ den dĂĄ chĂłras seo i bhfad Ăł shin, gan bogearraĂ nĂł scripteanna breise a shuiteĂĄil. Fuarthas go leor rĂ©itigh fhĂ©ideartha le googling tapa, thĂĄinig sĂ© ar fad sĂos ar an bhfĂric gur uaslĂłdĂĄil na scripteanna (i Pyha, Bash, Python, etc.) chuig an bhfreastalaĂ, agus beidh tĂș sĂĄsta. BhĂ mĂ© ag iarraidh monatĂłireacht a dhĂ©anamh âas an mboscaâ a chur i bhfeidhm - gan scripteanna seachtracha agus bogearraĂ breise a shuiteĂĄil ar an bhfreastalaĂ le monatĂłireacht agus PBX.
Chaith mĂ© 4 lĂĄ oibre san iomlĂĄn leis seo, ach b'fhiĂș an toradh Ă©. Ag obair trĂd an gcomhĂ©adan AMI, braite leibhĂ©al Ăseal, truicear, agus nĂos tĂĄbhachtaĂ fĂłs, tĂłgann sĂ© thart ar 15 nĂłimĂ©ad chun an PBX agus gach socrĂș eile a nascadh.
TĂĄ Zabbix 4.4 ar fĂĄil, thart ar 100 pĂosa de leagan RĂ©iltĂn 13. Tagann roinnt PBXanna leis an gcomhĂ©adan grĂ©asĂĄin FreePBX, cuid acu le consĂłl lom, a lĂĄn cleasanna agus comhthĂĄthĂș trĂ phlean diail.
Ag fĂĄil sonraĂ Ăłn PBX
Is Ă© an chĂ©ad phointe agus an prĂomhphointe nach mĂłr a rĂ©iteach nĂĄ sonraĂ a fhĂĄil faoi chlĂĄrĂșchĂĄin piaraĂ agus SIP. Chun na crĂche sin, tĂĄ comhĂ©adain AGI, AMI, ARI agus SSH ag an PBX. Ar chĂșiseanna soilĂ©ire, nĂor bhreithnigh mĂ© modĂșil bhreise.
Ar dtĂșs caithfimid a dhĂ©anamh amach cad iad na agi, ami, ari seo...
- AGI - ag baint ĂșsĂĄide as scripteanna sa dialplan. ĂsĂĄidtear go prĂomha le haghaidh bainistĂochta glaonna.
- AMI - is fĂ©idir leis an fhaisnĂ©is go lĂ©ir is gĂĄ a sholĂĄthar, oibrĂonn sĂ© trĂ phort 5038, cosĂșil le Telnet. Oireann dĂșinn!
- ARI - nua-aimseartha, faiseanta, JSON. TĂĄ go leor fĂ©idearthachtaĂ ann, tĂĄ an fhormĂĄid sonraĂ intuigthe do Zabbix, ach domsa nĂl aon rud is mĂł: nĂ fĂ©idir leat an clĂĄrĂș sip a rialĂș. MĂbhuntĂĄiste eile is ea nach bhfuil ach dhĂĄ stĂĄt ar lĂne/as lĂne do chomhghleacaithe, cĂ© go bhfuil nĂos mĂł stĂĄt ann agus tĂĄ sĂ© ĂșsĂĄideach iad a chur san ĂĄireamh agus diagnĂłis ĂĄ dhĂ©anamh.
- Is fĂ©idir le SSH gach rud a dhĂ©anamh, ach uaireanta nĂ cheadaĂtear Ă© mar gheall ar âchĂșiseanna slĂĄndĂĄlaâ. DâfhĂ©adfadh go mbeadh cĂșinsĂ difriĂșla, nĂ rachaidh mĂ© isteach iontu.
Mar sin fĂ©in, lena heasnaimh ar fad, clĂșdaĂonn ARI 90% de na riachtanais mhonatĂłireachta go lĂ©ir.
Zabbix agus Telnet - mo dĂomĂĄ
TĂĄ a fhios agam go maith ar AMI; Le Telnet, tĂĄ gach rud an-soilĂ©ir freisin: oscail an nasc, seol na horduithe agus lĂ©igh an freagra. Sin a rinne mĂ©, ach chuir an toradh dĂomĂĄ orm.
NĂ hionann Telnet Zabbix agus Telnet an chonsĂłil. LinuxTĂĄ sĂ© beagĂĄn nĂos simplĂ agus deartha le haghaidh fĂordheimhniĂș caighdeĂĄnach logĂĄla isteach/pasfhocal. MĂĄ tĂĄ an loighic fĂordheimhnithe difriĂșil agus mura n-iarrtar pĂ©ire logĂĄla isteach/pasfhocal, tarlaĂonn earrĂĄid. Tar Ă©is dom iarracht a dhĂ©anamh an riachtanas fĂordheimhnithe a sheachaint gan rath, thosaigh mĂ© ag fĂ©achaint ar chĂłd foinse an mhodĂșil Telnet.
Thuig mĂ© go dtĂ go mbeidh iarratas traidisiĂșnta logĂĄil isteach agus pasfhocal, nĂ bheidh mĂ© ag dul ar aghaidh. DĂreach le haghaidh spraoi, bhain mĂ© gach rud a bhaineann le hĂșdarĂș as an gcĂłd agus atĂłgadh gach rud. OibrĂonn! Ach nĂ chomhlĂonann sĂ© na ceanglais. Lean ar aghaidhâŠ
Fillfimid ar an gcuardach
LĂ©igh mĂ© na doicimĂ©id ARI arĂs, rinne mĂ© tĂĄstĂĄlacha breise - nĂl aon chlĂĄrĂșchĂĄin sip anseo. TĂĄ fĂ©astaĂ ann, tĂĄ comhrĂĄite ann, tĂĄ brĂstĂ ann, ach nĂl aon chlĂĄrĂșchĂĄin ann. Ag pointe Ă©igin shĂl mĂ© fiĂș, an bhfuil gĂĄ againn i ndĂĄirĂre clĂĄrĂș vulture?
TrĂ chomhtharlĂș greannmhar, ag an nĂłimĂ©ad seo a thagann iarratas eile Ăłn ĂșsĂĄideoir, le fadhb le glaonna amach. Ba Ă an fhadhb nĂĄ go raibh an clĂĄrĂș sip reo agus gur rĂ©itĂodh Ă© ach an modĂșl a atosĂș.
asterisk -rx "sip reload"Bheadh ââsĂ© iontach rochtain a fhĂĄil ar AMI ar an ngrĂ©asĂĄn: rĂ©iteodh sĂ© sin na fadhbanna go lĂ©ir, shĂl mĂ©. TosaĂonn mĂ© ag tochailt sa treo seo, agus go litriĂșil mar thoradh ar an gcĂ©ad lĂne cuardaigh go dtĂ an doicimĂ©adĂș oifigiĂșil RĂ©iltĂn, a deir go bhfuil rogha ann do mo thascanna grĂ©asĂĄnaithe i gcomhad /etc/asterisk/manager.conf, a chaithfear a shocrĂș go TĂ, sa roinn [ginearĂĄlta]
Tar éis seo, trà iarratas gréasåin rialta ar an bhfoirm faighimid an t-eolas riachtanach ar fad.
Agus an comhĂ©adan FreePBX ĂĄ ĂșsĂĄid agat, nĂ fĂ©idir leat an rogha seo a chumasĂș trĂd an ngrĂ©asĂĄn; nĂ mĂłr duit Ă© a chumasĂș trĂd an gconsĂłl trĂ athruithe a dhĂ©anamh ar an gcomhad manager.conf. NĂ scriosann FreePBX Ă© nuair a dhĂ©antar athruithe cumraĂochta trĂd an ngrĂ©asĂĄn.
D'oibrigh mĂ© le cineĂĄlacha Ă©agsĂșla comhthĂĄthĂș rĂ©iltĂn le fada an lĂĄ, ach nĂ fhaca mĂ© an ghnĂ© seo luaite in ĂĄit ar bith. BhĂ ionadh orm nach ndĂ©anann aon duine cur sĂos ar an modh seo chun idirghnĂomhĂș leis an PBX. BhĂ sĂ© ĂșsĂĄideach fiĂș faisnĂ©is a lorg ar an ĂĄbhar seo: nĂl rud ar bith beagnach nĂł baineadh ĂșsĂĄid as le haghaidh tascanna go hiomlĂĄn difriĂșil.
WEB AMI - cĂ©n cineĂĄl beithĂoch?
Rogha a chur leis grĂ©asĂĄnaithe a chomhdĂș bainisteoir.conf rochtain iomlĂĄn a sholĂĄthar ar bhainistĂocht ATS trĂd an ngrĂ©asĂĄn. TĂĄ gach ordĂș atĂĄ ar fĂĄil trĂ AMI rialta ar an ngrĂ©asĂĄn anois, is fĂ©idir leat Ă©isteacht le himeachtaĂ Ăłn PBX trĂ soicĂ©ad. NĂl prionsabal na hoibrĂochta difriĂșil Ăł thaobh an chonsĂłil AMI. Tar Ă©is duit an rogha seo a ghnĂomhachtĂș, is fĂ©idir leat teagmhĂĄil a dhĂ©anamh leis an PBX ag na seoltaĂ seo a leanas:
â leathanach grĂ©asĂĄin le comhĂ©adan simplĂ chun iarratais a thĂĄstĂĄil agus a sheoladh de lĂĄimh. DĂ©antar gach freagra a fhormĂĄidiĂș i HTML inlĂ©ite. NĂl sĂ© an-oiriĂșnach le haghaidh monatĂłireachta.
â aschur tĂ©acs amhĂĄin, formĂĄid cosĂșil le consĂłl AMI
- aschur tĂ©acs amhĂĄin, i bhformĂĄid XML. Oireann dĂșinn!

Ansin shĂl mĂ©: âSeo an rĂ©iteach! Anois beidh gach rud rĂ©idh! FĂĄscadh lĂomĂłide Ă©asca-peezy,â ach bhĂ sĂ© rĂł-luath chun lĂșchĂĄir a dhĂ©anamh. Chun an fhaisnĂ©is a theastaĂonn uainn a fhĂĄil, is leor iarratas GET a ĂșsĂĄid leis an ngnĂomh is gĂĄ gnĂomh, a thugann xml ar ais mar fhreagra le liosta de na clĂĄrĂșchĂĄin go lĂ©ir agus a stĂĄdas. TĂĄ sĂ© seo go hiontach ar fad, ach teastaĂonn ĂșdarĂș uait chun an seisiĂșn Ăłn bhfianĂĄn a mheabhrĂș. Nuair a dhĂ©anann tĂș tĂĄstĂĄil sa bhrabhsĂĄlaĂ, nĂ smaoinĂonn tĂș ar an bprĂłiseas seo.
PrĂłiseas Ășdaraithe
Ar dtĂșs tugaimid aghaidh ar an seoladh , mar fhreagra, seolann an freastalaĂ fianĂĄn chugainn leis an seisiĂșn Ășdaraithe. Seo an chuma atĂĄ ar iarratas HTTP:
https://ats:8089/mxml?action=login&username=zabbix&secret=zabbix
Host: ats:8089
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1Freagra:
GET: HTTP/1.1 200 OK
Server: Asterisk/13.29.2
Date: Thu, 18 Jun 2020 17:41:19 GMT
Cache-Control: no-cache, no-store
Content-type: text/xml
Set-Cookie: mansession_id="6f5de42c"; Version=1; Max-Age=600
Pragma: SuppressEvents
Content-Length: 146
<ajax-response>
<response type="object" id="unknown">
<generic response="Success" message="Authentication accepted"/>
</response>
</ajax-response> Chun oibriĂș ann is gĂĄ duit mansession_id="6f5de42c", i.e. an fianĂĄn Ășdaraithe fĂ©in.
Ăbhar nach gĂĄ duit ach a sheiceĂĄil le haghaidh an fhreagra"Glacadh le fĂordheimhniĂș" Ansin, le haghaidh gach glao chuig an bhfreastalaĂ PBX, beidh orainn fianĂĄn Ășdaraithe a chur leis an iarratas.
https://ats:8089/mxml?action=SIPpeers
Host: ats:8089
Connection: close
Cookie: mansession_id="6f5de42c"LĂ©igh conas fianĂĄn Ășdaraithe a fhĂĄil agus Ă© a ĂșsĂĄid in iarratais eile anseo: â»
Chun eilimintĂ rianaithe a chruthĂș in Zabbix ĂșsĂĄidfidh mĂ© braite uathoibrĂoch.
Brath uathoibrĂoch
Chun clĂĄrĂșchĂĄin a bhrath go huathoibrĂoch agus stĂĄit piaraĂ a rianĂș, nĂ mĂłr duit dul i dteagmhĂĄil leis an seoladh seo a leanas: nĂł
Mar fhreagra, seolann an PBX freagra XML chugainn:
<ajax-response>
<response type="object" id="unknown">
<generic response="Success" eventlist="start" message="Registrations will follow"/>
</response>
...
<response type="object" id="unknown">
<generic event="RegistryEntry" host="login.mtt.ru" port="5060" username="111111" domain="login.mtt.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
<response type="object" id="unknown">
<generic event="RegistryEntry" host="voip.uiscom.ru" port="5060" username="222222" domain="voip.uiscom.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
<response type="object" id="unknown">
<generic event="RegistryEntry" host="voip.uiscom.ru" port="5060" username="333333" domain="voip.uiscom.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
...
</ajax-response> Tå go leor truflais sa fhreagra, mar sin le linn réamhphróiseåla déanaimid é a scagadh trà theimpléad XPath: //response/generic[@host]
Ansin tosaĂonn an spraoi. Chun oibriĂș le heilimintĂ a bhrath agus a chruthĂș go dinimiciĂșil, nĂ mĂłr don fhreagra a bheith i bhformĂĄid JSON. NĂ thacaĂtear le XML le haghaidh braite uathoibrĂoch.
Chun XML a thiontĂș go JSON, bhĂ orm beagĂĄn a imirt le hathsholĂĄthar uathoibrĂoch, agus rinne mĂ© script dĂł i JS

Pointe suimiĂșil: sa fhreagra ATS, tĂĄ na paraimĂ©adair go lĂ©ir timpeallaithe ag comharthaĂ athfhriotail aonair, agus tar Ă©is an teimplĂ©ad a chur i bhfeidhm //response/generic[@host] cuirtear cinn dhĂșbailte in ionad iad.
Chun eilimintĂ a chruthĂș, ĂșsĂĄidimid athrĂłga Ăłn bhfreagra XML (JSON anois).

ClĂĄrlann SIP
Le haghaidh clĂĄrĂșchĂĄin sip ĂșsĂĄidimid trĂ athrĂłg: ainm ĂșsĂĄideora, Ăłstach, calafort. BhĂ mĂ© sĂĄsta le hainm an eilimint 111111@login.mtt.ru:5060, NĂor aimsigh mĂ© aon chĂĄs inar gĂĄ duit na cĂșig athrĂłg go lĂ©ir a ĂșsĂĄid.
Is Ă an phrĂomhghnĂ© a fhaigheann faisnĂ©is faoi gach clĂĄrĂș,. RĂ©iltĂn - AMI SIPshowregistry. Uair sa nĂłimĂ©ad dĂ©anann sĂ© iarratas GET chuig , ina dhiaidh sin seoltar na sonraĂ freagartha XML chuig na heilimintĂ cleithiĂșnacha go lĂ©ir le haghaidh parsĂĄla. CruthaĂm eilimint do gach clĂĄrĂș atĂĄ ag brath air. TĂĄ sĂ© seo ĂĄisiĂșil mar go bhfaighimid faisnĂ©is cothrom le dĂĄta in aon iarratas amhĂĄin, agus nĂ le haghaidh gach iarratais ar leithligh. TĂĄ mĂbhuntĂĄiste suntasach ag an gcur chun feidhme seo - an t-ualach ar an bprĂłiseĂĄlaĂ.
Nuair a thĂĄstĂĄil suas le 100 eilimint cleithiĂșnach, nĂor thug mĂ© an t-ualach faoi deara, ach le 1700 eilimint, thug sĂ© seo ualach suntasach 15 soicind ar an bprĂłiseĂĄlaĂ. Coinnigh seo i gcuimhne mĂĄ tĂĄ lĂon mĂłr eilimintĂ cleithiĂșnacha agat.
Mar rogha chun an t-ualach a âleathadh amachâ nĂł minicĂochtaĂ vĂłtaĂochta Ă©agsĂșla a shocrĂș le haghaidh eilimint, is fĂ©idir leat an loighic prĂłiseĂĄla a aistriĂș chuig gach eilimint ar leithligh.
NĂ stĂłrĂĄlaim an fhaisnĂ©is a fuarthas sa phrĂomhghnĂ©. Ar an gcĂ©ad dul sĂos, nĂ fheicim go bhfuil gĂĄ leis seo, agus sa dara hĂĄit, mĂĄ tĂĄ an freagra nĂos mĂł nĂĄ 64K, gearrann Zabbix as Ă©.
Ăs rud Ă© go n-ĂșsĂĄidimid freagra XML iomlĂĄn don eilimint spleĂĄch, nĂ mĂłr dĂșinn luach na heiliminte seo a fhĂĄil i rĂ©amhphrĂłiseĂĄil. TrĂd XPath dĂ©antar Ă© mar seo:
string(//response/generic[@event="RegistryEntry"][@username="{#SIP_REGISTRY_USERNAME}"][@host="{#SIP_REGISTRY_HOST}"][@port="{#SIP_REGISTRY_PORT}"]/@ luaigh)
Maidir le stĂĄdais chlĂĄrĂșchĂĄin, nĂor ĂșsĂĄid mĂ© stĂĄdais tĂ©acs, ach d'iompaigh mĂ© go foirm uimhriĂșil iad ag baint ĂșsĂĄide as JavaScript:
switch(value) {
case 'Registered':
return 1;
case 'Unregistered':
return 0;
default:
return -1;
}
Comhghleacaithe SIP
De rĂ©ir analaĂ le clĂĄrĂșchĂĄin SIP, tĂĄ prĂomhghnĂ© de ChlĂĄrlann Asterisk - AMI SIPshow, a gcuirtear cinn spleĂĄcha lĂ©i.
CruthaĂonn sĂ© seo dhĂĄ eilimint spleĂĄcha:
- Stådas piaraà i bhfoirm téacs
- Am freagartha glĂ©is - mĂĄ tĂĄ an stĂĄdas ceart go leor, scrĂobhtar am freagartha an ghlĂ©is, nĂł mura bhfuil â-1â
TĂĄ an cosĂĄn go dtĂ an eilimint fĂ©in beagĂĄn nĂos simplĂ XPath:
teaghrĂĄn(//response/generic[@objectname="{#SIP_PEER_OBEJECTNAME}"]/@status)
Don dara eilimint d'ĂșsĂĄid mĂ© JavaScript chun scaradh am freagartha Ăłn stĂĄdas piaraĂ, Ăłs rud Ă© go stĂłrĂĄiltear iad le chĂ©ile:
if(value.substring(0,2) == 'OK'){
return value.match(/(d+)/gm);
}
else {
return -1;
}ConclĂșid
Is fĂ©idir le rĂ©iteach lasmuigh den bhosca a bheith casta agus nĂ soilĂ©ir lĂĄithreach. MĂ©adaĂtear solĂșbthacht agus iniomparthacht idir cĂłrais Ă©agsĂșla
ComhthĂĄthĂș sona agus Ă©asca gach duine! TeimplĂ©ad agus treoracha le haghaidh socrĂș .
Foinse: will.com
