Me pehea te hono atu a Zabbix me Asterisk i waho o te pouaka

I roto i te tuhinga o mua "Zabbix - te whakawhānui i nga rohe tonotono" I korero ahau ki a koe me pehea te tango i tetahi huihuinga whakamana me te whakakapi ki te tonotono kaihautu rohe. I roto i tenei tuhinga ka korerotia e ahau ki a koe me pehea te hono atu ki a Zabbix me Asterisk kaore he tuhinga tuhi me te rorohiko.

Ko te whakaaro ki te "hoa" o enei punaha e rua i whanau mai i nga wa roa, kaore he whakauru i etahi atu rorohiko, tuhinga tuhi ranei. He maha nga otinga ka taea e te googling tere, ka kohia katoa ki te tuku i nga tuhinga (i Pyha, Bash, Python, me etahi atu) ki te tūmau, ka koa koe. I hiahia ahau ki te whakatinana i te aroturuki "i waho o te pouaka" - kaore he tuhinga o waho me te whakauru i etahi atu rorohiko ki runga i te tūmau me te aroturuki me te PBX.

E 4 nga ra mahi i pau i ahau me tenei, engari he pai te hua. Ko te mahi i roto i te atanga AMI, te rapu taumata-iti, te keu, me te mea nui, ko te hono i te PBX me era atu tautuhinga katoa e tata ana ki te 15 meneti.

Kei te waatea te Zabbix 4.4, tata ki te 100 nga waahanga o te putanga Asterisk 13. Ko etahi o nga PBX ka haere mai me te atanga paetukutuku FreePBX, etahi he papatohu kau, he maha nga tinihanga me te whakauru ma te mahere waea.

Te whiwhi raraunga mai i te PBX

Ko te kaupapa tuatahi me te kaupapa matua me whakatau ko te whiwhi raraunga mo nga hoa me nga rehitatanga SIP. Mo tenei kaupapa, kei te PBX nga hononga papatohu AGI, AMI, ARI me SSH. Mo nga tino take, kaore au i whakaaro ki etahi atu waahanga.

Tuatahi me whakaaro he aha enei agi, ami, ari...

  • AGI - te whakamahi i nga tuhinga kei te mahere waea. Ka whakamahia te nuinga mo te whakahaere waea.
  • AMI - ka taea te whakarato i nga korero katoa e tika ana, ka mahi ma te tauranga 5038, he rite ki a Telnet. He pai ki a maatau!
  • ARI - hou, huatau, JSON. He maha nga mea ka taea, he maamaa te whakatakotoranga raraunga mo Zabbix, engari mo au kaore he mea nui: kaore e taea e koe te whakahaere i te rehitatanga sip. Ko tetahi atu ngoikoretanga ko te mea mo nga hoa e rua noa nga kawanatanga kei runga ipurangi/tuimotu, ahakoa he maha ake nga kawanatanga me te whai whakaaro ki a raatau i te wa e tirotirohia ana.
  • Ka taea e SSH nga mea katoa, engari i etahi wa kaore e whakaaetia na te "take haumaru". He rereke pea nga whakaaro, e kore ahau e uru ki roto.

Engari, me ona ngoikoretanga katoa, ka kapi te ARI i te 90% o nga hiahia aroturuki katoa.

Zabbix me Telnet - taku pouri

Kei te tino mohio ahau ki te AMI; i tetahi wa i whakatinanahia e au te aroturuki i nga mate i roto i nga korerorero me te wehewehe i nga tari mamao, te whakahaere waea, aha atu. Ma te Telnet, he tino marama ano nga mea katoa: whakatuwhera i te hononga, tuku nga whakahau me te panui i te whakautu. Koira taku mahi, engari ko te hua i pouri ahau.

Ko te Telnet i Zabbix kaore i te rite ki te papatohu Linux, he iti ake te ngawari me te whakarite mo te whakamanatanga paerewa penei i te takiuru / kupuhipa. Mena he rereke te arorau whakamana, kaore he tono mo te takirua takiuru/kupuhipa, ka puta he hapa. I muri i nga nganatanga huakore ki te karo i te whakaritenga whakamana, he pai te titiro ki te waehere puna o te kōwae Telnet.

I mohio ahau kia tae ra ano he tono takiuru me te tono kupuhipa, kare au e anga whakamua. Mo te ngahau noa, i tangohia e ahau nga mea katoa e pa ana ki te whakamanatanga mai i te waehere me te whakahiato i nga mea katoa. Mahi! Engari kaore e tutuki nga whakaritenga. Haere i mua…

Kia hoki ki te rapu

I panui ano ahau i nga tuhinga ARI, i whakahaere i etahi atu whakamatautau - kaore he rehitatanga sip i konei. He hakari, he korerorero, he tarau, engari karekau he rehitatanga. I etahi wa ka whakaaro ahau, me tino rehita ano tatou mo te vulture?

Na te mea ohorere, i tenei wa ka tae mai ano tetahi tono mai i te kaiwhakamahi, me te raru o nga waea putaatu. Ko te raru ko te rehitatanga sip i te mīti, ka whakatauhia ma te whakaara ano i te kōwae.

asterisk -rx "sip reload"

He pai ki te uru atu ki te AMI ma te ipurangi: ma reira e whakaoti nga raru katoa, i whakaaro ahau. Ka tiimata ahau ki te keri i tenei huarahi, a ko te rarangi tuatahi o te rapu ka ahu atu ki nga tuhinga a Asterisk whaimana, e kii ana he whiringa mo aku mahi. tukutuku whakahohea i roto i te kōnae /etc/asterisk/manager.conf, me tautuhi ki te YES, i te waahanga [whānui]

I muri i tenei, na roto i te tono tukutuku auau o te puka http://ats:8089/mxml?action=SIPshowregistry ka whiwhi tatou i nga korero katoa e tika ana.

I te wa e whakamahi ana koe i te atanga FreePBX, kaore e taea e koe tenei whiringa ma te ipurangi, me whakaahei koe ma te papatohu ma te whakarereke i te konae manager.conf. Karekau a FreePBX e ūkui i te wa e whakarereketia ana te whirihoranga ma te ipurangi.

Kua roa ahau e mahi tahi ana me nga momo whakaurunga Asterisk, engari kaore au i kite i tenei ahuatanga e whakahuahia ana ki hea. I miharo ahau kaore tetahi e whakaatu ana i tenei tikanga mo te taunekeneke me te PBX. I tino whai hua ki te rapu korero mo tenei kaupapa: kaore he mea, i whakamahia ranei mo nga mahi rereke.

AMI WEB - he aha te momo kararehe?

Te taapiri i tetahi whiringa tukutuku whakahohea ki te konae kaiwhakahaere.conf i whai waahi katoa ki te whakahaere ATS ma te ipurangi. Ko nga whakahau katoa e waatea ana ma te AMI auau kei runga ipurangi, ka taea e koe te whakarongo ki nga huihuinga mai i te PBX ma te turanga. Ko te kaupapa o te mahi kaore he rereke mai i te papatohu AMI. I muri i te whakahohe i tenei whiringa, ka taea e koe te whakapā atu ki te PBX i nga wahitau e whai ake nei:

https://ats:8089/manager — he wharangi paetukutuku me te atanga ngawari mo te whakamatautau me te tuku tono tono. Ka whakahōputuhia ngā whakautu katoa ki te HTML ka taea te pānui. Kaore e tino pai mo te aroturuki.
https://ats:8089/rawman — putanga kuputuhi anake, he rite te ahua ki te whakamaarama AMI
https://ats:8089/mxml - putanga kuputuhi anake, i te whakatakotoranga XML. He pai ki a maatau!

Me pehea te hono atu a Zabbix me Asterisk i waho o te pouaka

Katahi ahau ka whakaaro: “Koinei te otinga! Inaianei kua rite nga mea katoa! He rēmana ngawari-peezy squeezey,” engari he moata rawa ki te koa. Ki te whiwhi i nga korero e hiahiatia ana, he nui noa te whakamahi i te tono GET me nga mahi e tika ana mahi, hei whakautu whakahoki xml me te rarangi o nga rehitatanga katoa me o raatau mana. He pai katoa tenei, engari me whai mana koe ki te maumahara i te wahanga mai i te pihikete. Ka whakamatautau koe i te kaitirotiro, kaore koe e whakaaro mo tenei mahi.

Te tukanga whakamana

Tuatahi ka korerohia e matou te wahitau http://ats:8089/mxml?action=login&username=zabbix&secret=zabbix, hei whakautu, ka tukuna mai e te tūmau he pihikete me te wātū whakamana. Koinei te ahua o te tono 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: 1

Whakautu:

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>

Hei mahi i reira ka hiahia koe mansession_id="6f5de42c", ara ko te pihikete whakamana.
Ihirangi me tirotiro noa koe mo te whakautu "I whakaaetia te motuhēhēnga" I muri mai, mo nga waea katoa ki te tūmau PBX, me taapiri he pihikete whakamana ki te tono.

https://ats:8089/mxml?action=SIPpeers

Host: ats:8089
Connection: close
Cookie: mansession_id="6f5de42c"

Pānuihia me pehea te tiki pihikete whakamana me te whakamahi i etahi atu tono i konei: "Zabbix - te whakawhānui i nga rohe tonotono»

Hei waihanga i nga huānga aroturuki i roto i te Zabbix ka whakamahi au i te kitenga aunoa.

Te kimi aunoa

Hei kite aunoa i nga rehitatanga me te whai i nga ahuatanga o nga hoa, me whakapa atu koe ki te wahitau e whai ake nei: https://ats:8089/mxml?action=SIPshowregistry ranei https://ats:8089/mxml?action=SIPpeers

Hei whakautu, ka whakahokia mai e te PBX he whakautu XML:

<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>

He maha nga para i roto i te whakautu, no reira i mua i te tukatuka ka tātarihia ma te tauira XPath: //whakautu/Generic[@host]
Na ka timata te ngahau. Hei mahi me te rapunga me te hanga hihiri i nga huānga, me noho te whakautu ki te whakatakotoranga JSON. Kaore i te tautokohia te XML mo nga kitenga aunoa.

Hei huri i te XML ki te JSON, me takaro au me te whakakapi aunoa, na reira i hanga ai e au he tuhinga ki te JS.

Me pehea te hono atu a Zabbix me Asterisk i waho o te pouaka

He mea whakamere: i roto i te whakautu ATS, ko nga tawhā katoa e karapotia ana e nga korukī kotahi, a i muri i te tono tauira //whakautu/Generic[@host] ka whakakapihia e nga mea takirua.

Hei waihanga huānga, ka whakamahia e matou nga taurangi mai i te whakautu XML (inaianei ko JSON).

Me pehea te hono atu a Zabbix me Asterisk i waho o te pouaka

Rehita SIP

Mo nga rehitatanga sip ka whakamahia e matou nga taurangi e toru: ingoa kaiwhakamahi, ope, tauranga. I harikoa ahau ki te ingoa o te huānga [email tiakina]: 5060, Kaore au i kite i nga ahuatanga e hiahia ana koe ki te whakamahi i nga taurangi e rima.

Ko te kaupapa matua ka whiwhi korero mo nga rehitatanga katoa, Asterisk - AMI SIPshowrehita. Kia kotahi meneti ka tono tono GET ki https://ats:8089/mxml?action=SIPshowregistry, muri iho ka tukuna te raraunga XML whakautu ki nga huānga ti'aturi katoa mo te poroporo. Mo ia rehitatanga ka hangaia e au tetahi huānga e whakawhirinaki ana ki runga. He waatea tenei na te mea ka whiwhi matou i nga korero hou i roto i te tono kotahi, kaua mo ia tono motuhake. Ko tenei whakatinanatanga he raru nui - ko te kawenga i runga i te tukatuka.

I te whakamatautau ki te 100 nga huānga whakawhirinaki, kaore au i kite i te utaina, engari me te 1700 nga huānga, ka kitea he 15 tuarua te kawenga i runga i te tukatuka. Kia maumahara ki tenei mehemea he maha o nga huānga whakawhirinaki.

Hei kowhiringa ki te " horahia" te utaina, ki te whakarite ranei i nga iarere pooti rereke mo tetahi huānga, ka taea e koe te nuku wehe i te arorau tukatuka ki ia huānga.

Kaore au e penapena i nga korero kua riro mai i roto i te kaupapa matua. Tuatahi, kaore au e kite i te hiahia mo tenei, tuarua, mena he nui ake te whakautu i te 64K, katahi ka tapahia e Zabbix.

I te mea ka whakamahia e matou he whakautu XML katoa mo te huānga whakawhirinaki, me whiwhi tatou i te uara o tenei huānga i roto i te tukatuka o mua. Na roto XPath kua oti te mahi penei:
string(//response/generic[@event="RegistryEntry"][@username="{#SIP_REGISTRY_USERNAME}"][@host="{#SIP_REGISTRY_HOST}"][@port="{#SIP_REGISTRY_PORT}"]/@ āhua)
Mo nga mana rehitatanga, kaore au i whakamahi i nga tuunga tuhinga, engari i hurihia hei ahua tau ma te whakamahi i te JavaScript:

switch(value) {
  case 'Registered':
    return 1;
  case 'Unregistered':
    return 0;
  default:
    return -1;
}

SIP hoa

Ma te whakataurite ki nga rehitatanga SIP, he waahanga matua o Asterisk - AMI SIPshowregihita, ka taapirihia nga mea whakawhirinaki.

Ka waihangahia e rua nga waahanga whakawhirinaki:

  • Te tūnga hoa i roto i te puka kuputuhi
  • Te wa whakautu a te taputapu - mena he pai te mana, katahi ka tuhia te wa whakautu taputapu, ki te kore "-1"

Ko te huarahi ki te huānga ake he ngawari ake XPath:

aho(//whakautu/generic[@objectname="{#SIP_PEER_OBEJECTNAME}"]/@tūnga)

Mo te waahanga tuarua i whakamahia e ahau te JavaScript hei wehe wā whakautu mai i te mana o te hoa, na te mea kei te rongoa tahi ratou:

if(value.substring(0,2) == 'OK'){
	return value.match(/(d+)/gm);
}
else {
	return -1;
}

mutunga

Ko te otinga o waho o te pouaka he uaua me te kore e marama tonu. Ka whakanui ake i te ngawari me te kawe i waenga i nga punaha rereke

He harikoa me te ngawari te whakauru katoa! Te tauira me nga tohutohu mo te whakarite GitHub.

Source: will.com

Tāpiri i te kōrero