Cisco 7911/7941 SIP VPN Mikrotik

 ( zolej | 2019. február 10., vasárnap - 14:59 )

Gondom adódott egy hálózati beállítással.

Központban működik egy Asterisk, PJSIP 5060-as porton, CAHN_SIP 5160-ason. Helyi telefonok vannak, jól érzik magukat, köszönik szépen, mindkét drivert használjuk. Nincsen semmi gond belső hálózatról.
Kívülről (egyetlen IP-ről, az "A" telephelyről) elérhető szintén a rendszer, szoftveres SIP telefonok szépen rálátnak, Yealink is megy.

Nos, adottak ezek a jó öreg masinák, akik kívülről nem igyekeznek fellépni a központra, s nem regisztrálnak. Még idáig sem jutok el. (Tudom, baromi régiek, de itt most ez van!) PJSIP-et nem tudnak - tudtommal - így marad a CHAN_SIP.

Az "A" telephely össze van kötve VPN-nel, alapvető szolgáltatások mennek rendben. Központ 192.168.1.0/24, telephely 192.168.3.0/24, a VPN pedig 192.168.8.0/24. Központ Mikrotik ebből 192.168.8.8-at kap. Mindkettő rendelkezik publikus IP-vel,
mindkettőn Mikrotik a hálózat atyja, és oda-vissza tudok VPN-t nyitni, ha akarok, jelenleg a központ "tárcsáz" kifelé a telephelyre.

L2TP/IPSEC van belőve, plusz egy route szabály van felvéve a telephelyre, hogy a 192.168.1.0/24-et a vpn-en keresztül érje el.

Idáig jutottam:
Figyeltem az asterisken a bejövő UDP kapcsolódásokat. Míg a helyi hálóról pár üzenet jön percenként a Cisco-król, addig kívülről ugyan jön, de semmi reakció az asterisk-től. Azaz, talán mégis van pár csomag, párokban láttam pl ezt:

13:47:33.587817 IP 192.168.1.2.5160 > 192.168.8.1.5160: UDP, length 579
13:47:33.627639 IP 192.168.8.1.50302 > 192.168.1.2.5160: UDP, length 1175

Rengeteg hülyeséget kipróbáltam már, próbáltam a visszalökött csomagokat irányítgatni, mangle, route, mark packet, mark routing, ...
Megpróbáltam azt is, hogy helyi IP címet adok ki VPN-en a központi Mikrotiknek, de semmi.
És én itt elveszek! Nem tudom, hogyan tovább.

Ha ugyanezt a SIP fiókot kipróbálom androidról kívülről, vagy VPN mögül, mindig megy.

Becsatolom ide a Cisco configját is, lehet,hogy ott toltam el! NAT kérdése lesz?

https://pastebin.com/Khh9FbDP

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

PJSIP-et nem tudnak - tudtommal - így marad a CHAN_SIP.

ez csak implemetáció, ugyan úgy kell mennie mind a kettővel

mikortikben conn tracknél vedd fel az 5160-at is

/ip firewall service-port set sip ports=5060,5061,5160

Ez nálam ki is volt kapcsolva idáig. Olvastam több oldalon, hogy felesleges. passsz... egyenlőre nincsen változás ettől

Nálam is hasonló volt a probléma. Az Asterisk egy VPS-en fut, otthon MikroTik router, S2S VPN. Az otthoni Cisco (7941, 7965) telefonok nem tudtak beregisztrálni, Asterisk felől nem érkezett válasz, viszont különböző softphone-ok simán mentek.

A megoldás a következő sor lett a sip.conf-ba az összes Cisco-s mellék alá:
nat=RFC3581

FreePBX-em van. Ez a beállítás bizonyára ez lesz:

NAT Mode

NAT setting, see Asterisk documentation for details. Yes usually works for both internal and external devices. Set to No if the device will always be internal. [nat]

        Yes - (force_rport,comedia): Always ignore info and assume NAT
        No - (no): Use NAT mode only according to RFC3581 (;rport)
        Force rport - (force_rport): Force rport to always be on.
        comedia - (comedia): Use rport if the remote side says to use it and perform comedia RTP handling.
        Automatic Force Both - (auto_force_rport,auto_comedia): See Below
        Automatic Force rport - (auto_force_rport): Force rport if Asterisk detects that an incoming SIP request crossed a NAT after being sent by the remote endpoint.
        Automatic comedia - (auto_comedia): Use comedia if Asterisk detects that an incoming SIP request crossed a NAT after being sent by the remote endpoint.
        never - (no): Never attempt NAT mode or RFC3581 support
        route - (force_rport): Assume NAT, don't send rport

Ez idáig a "No" (2.) opción volt, végigpróbálgatom a többit is!

A mellék "Advanced" beállításában van még: Port 5060-ra kitöltve. Rakjam át őt 5160-ra? (A belső mellékeknél ez nem okoz gondot, hogy 5060 van.)

Szóval jönnek a csomagok az interfészre, de ezt is olvasom:

15:32:36.349784 IP 192.168.8.1.49386 > 192.168.1.2.5160: UDP, bad length 2074 > 1472
15:32:36.350039 IP 192.168.1.2.5160 > 192.168.8.1.49386: UDP, length 492
15:32:36.355829 IP 192.168.8.1.51075 > 192.168.1.2.5160: UDP, bad length 2074 > 1472
15:32:36.355964 IP 192.168.1.2.5160 > 192.168.8.1.5160: UDP, length 544

Aztán ez az UDP szám kisebb lesz 5-6 küldés után.

Emelnem kellene az MTU-t?

A lehetőségek alapján a "No" lesz az általam írt megfelelője, viszont ha eddig is azon volt, akkor valószínűleg nem ez a probléma.

Kicsit már megkoptak az emlékeim, ezért csináltam néhány capture-t a routeren. Amikor kivettem a melléktől a nat=RFC3581 opciót akkor az Asterisk-től "401 Unauthorized" jött vissza, amikor a mellék regisztrálni próbált, UDP hibaüzenet (pl: bad length) nem volt.

Nem tudom, hogy az MTU probléma lehet-e. Nálam 1500 az MTU a VPS-en, az OpenVPN tunnel-en és a telefonos VLAN-on is.

Nekem így néz ki egy 7941-es konfigja: https://pastebin.com/9sfwHFCw

Látom neked újabb firmware van rajtuk, arra már nem emlékszem hogy nekem miért a régebbi került a 7941-esekre. Arra emlékszem csak, hogy a 7965-höz nem volt jó a legújabb, voip-info.org-on találtam meg, hogy mit rakjak fel rá.

Köszönöm a segítséget, a configból csipegetek magamnak okosságokat!

Most ideiglenesen megoldottam a problémát EoIP tunnellel, ezzel regisztrálok, hívok..
De ezt a tunnelt le kell bontsam majd, úgyhogy az IPSEC jobb lenne, ha menne.

Alszok megint egyet, hátha eszembe jut, mit hagytam ki.
Úgy gondolom, route problémáim lesznek.