Asterisk és az új NeoPhone házasítása

Leírom magamnak, hogy tudjam.
Naszóval az Asterisk és a NeoPhoneX úgy működik helyesen, ha csak egyszer vesszük fel a Neophone-t, és akkor is peer-ként. ha mégegyszer felvesszük userként is, akkor folyamatosan foglalt vonalat kapunk eredményül.
Tehát, a sip.conf ideillő része:



[general]
(..)
register     => 062138XXXXX:SZIGORUANTITKOS@sip.neophonex.hu

[NeoPhoneX-out]
type=peer
canreinvite=no
fromdomain=sip.neophonex.hu
username=062138XXXXX
fromuser=062138XXXXX
secret=SZIGORUANTITKOS
host=sip.neophonex.hu
insecure=port,invite
pedantic=no
qualify=300
nat=yes
disallow=all
allow=ulaw
allow=alaw
allow=ilbc

Az extensions.conf kifele menő hívásra ilyen lesz:


[globals]
(..)
TRUNK=SIP/NeoPhoneX-out
(..)
[default]
(..)
exten => _06.,1,Dial(${GLOBAL(TRUNK)}/${EXTEN})
exten => _06.,2,Hangup

Az SNMP konfig menete a következő:

A modult magát az asteriskbe külön kézzel nem kell betölteni, automatikusan betöltődik.
Ha a konzolra indított asterisk folyamatosan azzal sír, hogy képtelen az agentx mesterhez szólni, akkor nincs alákonfigolva az snmp.

Először is, létre kell hozni, vagy engedélyezni kell az snmpd.conf-ban valahol az alábbiakat:


master agentx
agentXperms 0660 0550 nobody asterisk

ezután a snmpd indíto script konfigjában (ez Gentoo esetén a /etc/conf.d/snmpd debian-szerű rendszerek alatt valahol a /etc/default alatt) be kell szerkeszteni egy ilyen sort (yó esetben ez elől is csak a kommentjelet kell kivenni)


SNMPD_FLAGS="${SNMPD_FLAGS} -x /var/agentx/master"

Ezután a snmptrapd konnfigjában ezt kell tenni (ha használunk ilyent):


SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -Lf /var/log/snmptrapd.log"

Ezután még két fontos dolgunk van:
- Keressük meg a /var/lib alatt az snmpd mappáját, és adjunk rá az asterisknek is írási jogot. Én ezt POSIX ACL-lel oldottam meg:


$ setfacl -m g:asterisk:rwx /var/lib/net-snmp/

- Tegyük ugyanezt a /var/agentx mappával is.
Ezután az SNMP démon újraindítása (a trapperrel együtt is, ha van) kötelező, az asterisk-é nem, ott a következő parancsok kiadása az:


merlin*CLI> module unload res_snmp.so
merlin*CLI> module load res_snmp.so

Ha még mindig azzal sírna Asterisk barátunk, hogy ő bizony nem tud kapcsolódni az agentx-hez, ellenőrizzük, hogy a jogokat beállítottuk-e, illetőleg hogy a /var mappát tartalmazó meghajtó acl mount-opcíóval lett-e felcsatolva. Ha nem, akkor ezt tegyük meg:


$ mount -oremount,acl /var 

Hogy / vagy /var az rendszerenként eltérő, esetemben ez /
Illetőleg ennek értelmében az fstab szerkesztése is ajánlott:


/dev/hda7               /               reiserfs        noatime,acl     0 1

Azon a gépen, ahol figyelni szeretnénk az Asterisk SNMP válaszait, a következőt kell tegyük:
Töltsük le annak az asterisknek a forrását, amit a szerveren használunk, és bontsuk ki.
lépjünk bele a keletkező mappán belül a doc mappába, és keressük meg az összes *-mib.txt nevű fájlt, és másoljuk az snmp /usr/share alatti mibs mappájába (Gentoo-n ez nálam a /usr/share/snmp/mibs/ mappa).
Ezek után az snmp-n át figyelő program poller részének úgy kell indulni, hogy a környezeti változók között legyen a MIBS=+ASTERISK-MIB beállítás is. Cacti esetében ez pl wrapper scripttel érhető el:

 
#!/bin/sh
export MIBS=+ASTERISK-MIB
/usr/bin/php /usr/share/cacti/poller.php

Ezt a wrapper scriptet kell megadni a cron-ban az eredeti helyett.

Az SNMP rész leírásáért köszönet a VoIP Phreak blog írójának, főleg ezért a cikkért.

Hozzászólások

Azt el is felejtettem írni, hogy a fentiek >1.4 AsterX-re vonatkoznak. A sip.conf picit más <1.4 AsterX esetén