Kam3cfg

Kam3cfg je projekt, který vzniknul primárně k zjednodušení konfigurace SIP serveru Kamailio 3. V principu je tento program schopen pracovat i s opensipsem nebo jinou podobnou verzí software, která má základ Sip Express Router. I když se jedná o program, ovládaný přes commandline, může přinést značné zjednodušení pro správce, kteří chtějí nasadit kamailio, ale neví kudy začít. V současné verzi funguje kam3cfg víceméně jako šablonovací systém, který dle předložené šablony a podmínek vytvoří konfiguraci pro kamailio. Díky použití Smarty je šablonování velmi jednoduché a výkonné. Vygenerovaný konfigurační config je možno buďto použít ihned, nebo ho ručně upravovat dál.

Vlastnosti

V současné době kam3cfg umí (každá z vlastností se dá vypnout nebo zapnout):

  • Vygenerovat kompletní config pro kamailio3 na základě vstupních parametrů
  • Přidat jednotný debug na všechny důležité místa (xlog)
  • Multidomain support
  • ENUM (neomezený počet ENUM domén k prohledávání)
  • Ratelimiting
  • Podpora NATu
  • Podpora vynucení RTP přes Kamailio (rtpproxy)
  • Konfigurovatelné flagy
  • Accounting
  • Podpora registrací (Locations v DB i v RAM)
  • Script-only mode (vše v configu, žádná závislost na externí DB, např. pro embeded systémy)
  • LDAP autentizace
  • LDAP Avp
  • LDAP aliases
  • TLS

Download

Balík (z 22.6.): http://mirror.opf.slu.cz/kam3cfg.tgz

Info o projektu, vývoj, SVN (anglicky): http://open.phonyx.eu/wiki/kam3cfg

Použití

Kam3cfg je spustitelný soubor, který musí být spouštěn z adresáře distribuce, protože je závislý na Smarty, který je pro jednoduchost distribuován v balíčku.

$ cd kam3cfg
$ ./kam3cfg.php --help
$ ./kam3cfg.php --longhelp
$ ./kam3cfg.php --help-option optionname

Samotný –help vypisuje základní info o možnosti použitých parametrů. Některé parametry mohou nabývat pouze hodnot true nebo false. To znamená, buď jsou uvedeny na commandline nebo ne. Např. –with-enum. Některé mohou nabývat pouze jednu hodnotu (např. –xlog-prefix). Některé z nich umožňují zadat více hodnot (např. –enum-suffixes). V takovém případě je možno zadat více hodnot dvěmi způspoby. A to buďto použitím znaku '^'

--enum-suffixes e164.org^e164.arpa^nrenum.net

nebo odkazem na soubor

--enum-suffixes @myfile.txt

Kde v souboru myfile.txt je jedna hodnota na řádku. Tedy:

e164.org
e164.arpa
nrenum.net

Kam3cfg

Příklady

Nejjedodušší varianta. Bez registrací, pouze SIP proxy pro domény abc.cz a def.cz. Globální prefix je +420. Ten se bude přidávat před volané číslo automaticky, protože jsme v ČR. Zároveň se zapne ratelimit s nastavením pro středně zatížený server.

./kam3cfg.php --global-prefix '+420' \
 --local-domains abc.cz^def.cz \
 --with-ratelimit medium

Podobná varianta, ovšem s odkazy na sip gateway. Tedy uvedené prefixy 7XXX budou směrovány na bránu sipgw.abc.cz:5060. Předtím se ale přidá prefix 12345, takže se bude volat 123457XXXX@sipgw.abc.cz:5060. Zároveň se zapne ratelimit s nastavením pro málo zatížený server.

./kam3cfg.php --global-prefix '+420' \
 --local-domains abc.cz^sip.abc.cz \
 --local-prefixes 7[0-9][0-9][0-9]/12345/udp:sipgw.abc.cz:5060 \
 --with-ratelimit small

Uvedenou variantu je možno dále košatit:

./kam3cfg.php --global-prefix '+420' \
 --local-domains abc.cz^def.cz^klm.cz \
 --local-prefixes [0-9][0-9][0-9]@klm.cz/123456/udp:sipgw.klm.cz:5060 \
 --local-prefixes [0-9][0-9][0-9]@def.cz/123457/udp:sipgw.def.cz:5060 \
 --local-prefixes [0-9][0-9]@abc.cz/1234558/udp:sipgw.abc.cz:5060 \
 --with-ratelimit small

Sloitější varianta, s více prefixy a LDAP auth a předvyplněnými IP pro bind, s TLS a vyšším debugem. V tomto případě je potřeba ještě vytvořit /etc/kamailio/ldap.conf, ve kterém nadefinujeme zdroj ldapdef.

./kam3cfg.php --global-prefix '+420' \
  --local-domains 'abc.cz^def.cz' \
  --local-prefixes '[0-9][0-9][0-9]@abc.cz/123456/udp:sip.abc:5060'^\
'[0-9][0-9][0-9]@def.cz/123457/udp:sip.def.cz:5060'^\
  --with-ldap \
  --with-ratelimit medium \
  --listen 'tls:1.2.3.4:5060^tls:[2001:XXXX::XXXX]:5061' \
  --with-debug 3 \
  --with-ldapauth \
  --ldapauth-uri 'ldap://ldapdef/o=su?cn,radiuspassword?sub?(|(cn=$au)(tollfreephonenumber=$fU))' \
  --with-tls \
  --tls-key '/etc/kamailio/my-key.pem' \
  --tls-certificate '/etc/kamailio/my-cert.pem'

ldap.ini:

[ldapdef]
ldap_server_url = "ldap://ldap.company:389"
ldap_bind_dn = "cn=voiceproxy,ou=system,dc=cz"
ldap_bind_password = "password"
ldap_network_timeout = 5000
ldap_client_bind_timeout = 5000
cs/swahw/kam3cfg.txt · Poslední úprava: 2010/06/22 20:34 autor: janru@cesnet.cz
Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0