AMU/IP Telefoni Haderslev Kaserne/Setup Routing
Inden man kan ringe rundt imellem alle grupper skal der laves routing så en telefon i bag Gruppe 1's PBX kan ringe til en telefon bag Gruppe 2's PBX.
Routingen sker som vi kender det fra et routed setup, hvor vi har 4 routere forbundet til det samme lan, og med forskellige subnets på deres bagside netværk.
Contents
Default config
Som default er en Linux/Unix kasse ikke konfigureret til at route, så det skal vi have kontrolleret på den PBX vi arbejder med.
På CentOS systemer gøres det i /etc/sysctl.conf hvor der skal være en linie med net.ipv4.forwarding=1
[root@Asterisk04 ~]# <input>cat /etc/sysctl.conf</input>
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
<notice>net.ipv4.ip_forward = 1</notice>
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456
[root@Asterisk04 ~]#
Hvis værdien ikke er sat til 1 skal den ændres med evt. nano og systemet skal genstartes.
Linux Routing
En linux maskine har en routing tabel som alle andre netværks forbundne maskiner(Computere/Routere osv.)
Default Konfiguration
Hvis vi kigger på routingen på Asterisk04 kender den kun 2 netværk i routing tabellen, det interne og det eksterne. Hvor det eksterne har en default gateway ud af netværket.
[root@Asterisk04 ~]# <input>route</input>
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
<notice>192.168.139.0 * 255.255.255.0 U 0 0 0 eth1
10.4.0.0 * 255.255.0.0 U 0 0 0 eth0</notice>
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
<notice>default 192.168.139.1 0.0.0.0 UG 0 0 0 eth1</notice>
[root@Asterisk04 ~]#
Nye netværk
Der skal nu tilføjes en route til alle de andre grupper med route kommandoen, hvor PBX'ens yderside IP angives som Next-Hop.
[root@Asterisk04 ~]# <input>route add -net 10.3.0.0/16 gw 192.168.139.23</input>
[root@Asterisk04 ~]# <input>route</input>
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.139.0 * 255.255.255.0 U 0 0 0 eth1
<notice>10.3.0.0 192.168.139.23 255.255.0.0 UG 0 0 0 eth1</notice>
10.4.0.0 * 255.255.0.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 192.168.139.1 0.0.0.0 UG 0 0 0 eth1
[root@Asterisk04 ~]#
Nu mangler der bare route til de 2 andre hold:-)
Kald Routing
For kald routing virker skal der laves en Telefon trunk imellem alle systemer, der konfigureres imellem alle uderside IP adresserne, så Hold1 skal altså have en trunk til Hold2, Hold3 & Hold4. Samtidig skal der også konfigureres udad gående kald regler der definerer alle kald der begynder med 2XXX skal sendes igennem Trunken til Hold2.
IAX Trunk
Inden der kan ringes til de andre numre skal der oprettes en IAX2 trunk imellem systemerne, der bruges til at overføre voice samtalerne.
Trunken skal konfigureres med:
- Et sigende navn
- Brugernavn begge parter er enige om
- Password begge parter er enige om
Her definerer man den bruegr man logger på med hos naboen og den bruger de skal forbinde med til en.
Outbound Route
Herefter skal vi have fortalt PBX'en at alle kald til 3XXX bliver videresendt til vores trunk mod Hold3.