Asterisk tuzfal mogul. De milyen portokkal? - MEGOLDVA

Fórumok

Hello,
Szeretnem azt elerni, hogy egy tuzfal moge tett asterisk es gepre X-Lite kliensekkel kintrol ra tudjanak csatlakozni

Az /etc/asterisk/sip_nat.cfg file ki lett toltve az alabbiak szerint:

nat = yes
externip = (ide kell felvenni a hálózatod külső ip címét, ill. dinamikusnál a dyndns vagy más domainnevedet)
localnet = xxx.xxx.xxx.0/255.255.255.0 (a helyi hálózat azonosításához)

valamint a tuzfalon kiengedtem az 5060 as tcp, es udp portokat.

Lehet hogy ezek kozul nem kell a tcp vagy udp, ebben nem voltam biztos.

A problema a kovetkezo: Be tudnak a kliensek jelentkezni, de ha nalam kicsong, es felveszem, akkor nem hallom azt aki hiv, es visszafele.
Ugyanez a helyzet az uzenetrogzitessel is: a 3 kicsenges utan elkezdi szamolni az idot, de nem lehet kintrol az ivr hangjat hallani.

Gondolom az a baj, hogy meg bizonyos portokat ki kellene engednem.
Hiaba keresgeltem, nekem nem volt egyertelmu, hogy mi hianyzik meg.
Nem arrol van szo hogy lusta vagyok guglizni, es massal akarom megcsinaltatni, de tenyleg elakadtam.
Elore is koszonom a valaszokat.

Hozzászólások

hogy legyen mit a google-ba írni: rtp
;)

stun imho akkor lenne érdekes, ha a sip szerver lenne ip nat outside, és a kliens pedig ip nat inside.

(meg főleg, hogy feltételezvén fix ipről van szó, merthogy kívülről akarja piszkálni, nem kell stun, hanem szépen megadja az asterisknek, hogy mi a külvilág és keziccsókolom)

Nekem erős a gyanúm h mindkét eset fennáll, elég ritka az manapság hogy a kliens ne legyen router mögött. Persze ez a témából nem derült ki, ez csak az én gyanúm.

Abban biztos vagyok hogy rtp probléma, nem mennek át a csomagok, lehet hogy már az asterisk szerveren elakad, lehet azis hogy a kliens natján akad el, a hibajelenség ugyanaz.

Én megpróbálnám azt, amit lentebb is javasoltak, kinyitni az asterisk tűzfalát egy adott kliens ip felé, a kliens ip-n közvetlenül (router nélkül) futtatott x-lite-al bejelentkezni, megnézni mivan. Ha műxik, azterisk tűzfalon a megfelelő portokat engedélyezni. Ha ez megvan, akkor megnézni router mögötti klienssel. Ha nem megy, publikus stun szerver beállítása az x-lite kliensnek, vagy kliens routeren megfelelő portok átirányítása.

Ha ez túl bonyolult, akkor mindkét oldalon tcpdumppal és asterisken sip debug-al figyelgetni a kommunikációt és kiszűrni hol akadnak el a csomagok.
--
http://csuhai.hu

Milyen tűzfalról van szó?

PIX,ASA? Vagy valamilyen iptalbes tűzfal?

Érdemes lenne figyelni a hálozati forgalmat, és az által kideriteni, hogy esetleg mi az a csomag/hálozati forgalom ami nem megy.

egy tipp ami néha be szokott válni.
Mielőtt a tűzfalat boncolgatod próbáld ki hogy teljesen kinyitod és úgy megy-e. Értsd: megadsz egy szabályt akár egy IPre, ami teljesen nyitva van, és arról megpróbálod. Ha megy akkor valóban tűzfal-baj. Ha nem akkor máshol a hiba.

Es esetleg nem tudja valaki hogy ahhoz hogy a hangalapu kommunikacio menjen milyen port - tartomanyt kell kinyitni? Vagy ez a dolog nem ilyen egyszeru?

http://forums.whirlpool.net.au/forum-replies-archive.cfm/744887.html

Ezen az oldalon talaltam valamit, itt arrol irnak hogy az rtp.conf allomanyban hatarozom meg, hogy hany aktiv kapcsolat lehet egyszerre egy szerveren, es ennek fuggvenyeben kell a portforwardot veghezvinni?
Vagy lehet hogy rossz nyomon vagyok.

Röviden: az rtp.conf-ban van az rtpstart és rtpend értékpár. Ezek közül fog rtp portot választani a médiához az asterisk (a tartományba beleértve a két megadott értéket is).

Magyarul, ha az rtpstart 16000, az rtpend pedig 17000, akkor portforwarddal a 16000-17000 tartományt (UDP) kell az asterisk felé irányítani. Nyilván ha kevesebb az egyidejű beszélgetések száma, akkor ez kisebb tartomány lesz.

Ha jól emlékszek, akkor pl. a Linksys telefonok nem turmixolják az RTP portokat. Vagyis 1 beszélgetéshez kettő kell. De ha mondjuk szeretnél olyat, hogy hívástartás vagy hívásátadás (xfer/bxfer), akkor meg inkább 4. (Softphone-oknál lehet, hogy csak 1-1-et nyit.) Bővebben ezt nézd meg.

Mondjuk annyiban elírtam tehát, hogy a második számnak páratlant kellene beállítani (ha mégis párosat adsz meg, akkor az asterisk az utánakövetkező páratlant még használja). Tehát mondjuk a 16000-16009 portok 5 egyidejű beszélgetést adnak. (A tartásban lévő hívások is beszélgetésnek számítanak.)

Szerintem nem érdemes kicentizni. Ha csak nincs valami nagyon erős érv, akkor érdemes egy 100-as porttartományt megnyitni.

Igazabol ez az egesz hadmuvelet csak egy uzenetrogzito jellegu takolmanyt takarna.
Tehat lenne 10 user de ok egymas kozott nem beszelgetnenek, csak valamennyiuk kintrol nekem hagyna uzenetet.
Tehat legvegso esetben /de ez szelsoseges/ nem tortenne egyszerre ket beszelgetesnel tobb egyszerre.
De nem az lenne a fo csapasirany hogy egyaltalan valos ideju kommunikacio tortenne ket fel kozott.
Es a kliensek szamitogepeken futnanak /X-Lite ra gondoltam/.

ip_nat_sip, ip_conntrack_sip modulok a firewall kernelébe

--
Gabriel Akos

netstat -lepn nagyon sokat tud am segiteni, a LISTEN allapotu kapcsolatokra erdemes grep-pel szurni. Ha root-kent adod ki, a -p kapcsolo megadja a figyelo progi nevet, jelen esetben neked az asterisk proginevet kell keresni.
-m conntrack --ctstate ESTABLISHED,RELATED mindenkepp kelleni fog, meg az iptables SIP kezeloje.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Mint mar annyiszor, most is sikerul magyarorszag legjobb foruman a legsegitokeszebb emberek segitsegevel megtalalni a valaszokat a kerdeseimre.
Ezuttal e-medve hozzaszolasa vitte a palmat:
Az rtp.conf allomanyban megadtam egy 5 portbol allo tartomanyt, aztan ezeket UDP portkent kitereltem a tuzfalon keresztul.Tokeletesen akadozasmentesen ment a csekelyke savszel ellenere is.
Nagyon szepen koszonom mindenkinek a segitseget, a rengeteg hasznos tanacsot es a turelmet.
Kulon Medvenek, hogy egy huszaros vagassal elmondta, hogy mi az ami orvosolja a gondomat.

Ezer hala a segitsegert!

Sziasztok!

Nem foglalkoztam még nagyon voip-pel, most kaptam kedvet egy kis voip-ezéshez, csak úgy :) Öröm és bódottá' volt hogy sikerült az ide csörög-oda csörög kérdést megoldani, a Neophone-os trunk is csörgésképes, viszont a hangot a bitmanók megeszik útközben :(

A környezetem a következő:

A szerver a neten lóg publikus IP címmel
A kliensek vagy publikus címmel "pőrén" (mobilnet) vagy router mögött csücsülnek.
Az azonos router mögötti kliensek tudnak csacsogni egymással, de másik (legyen az router mögötti vagy "pőre" kliensek) nem hallják egymást.

a SIP.conf-ban a kliensek a köv sablon alapján vannak:

[1237]
type=friend
host=dynamic
secret=x
disallow=all
allow=ulaw
context=y
nat = yes

az rtp.conf-om
rtpstart=10000
rtpend=20000

IPtables alapján be van engedve
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpts:10000:20000

A kliensek 3cx progik, illetve van egy linksys ata adapter

a "sip set debug on"-ot bekapcsoltam de... nem látom, hogy mit kéne látom

Mit szúrtam el?

Köszi,
Norbi

A két itthoni eszközöm show peer-je ezt írja:

Name/username Host Dyn Nat ACL Port Status
1234/1234 178.164.197.134 D N 53142 Unmonitored
1235 (Unspecified) D N 5060 Unmonitored
1236/1236 178.164.197.134 D N 5060 Unmonitored
1237 (Unspecified) D N 5060 Unmonitored

A NAT-nál nem Y-nek kéne lenni?

Nálam ilyenek vannak (ez most 10-es Asterisk):

Name/username    Host               Dyn Forcerport ACL Port     Status    Desscription                      
xxxxxx/xxxxxx    123.123.123.123      D   N             5060     OK (10 ms)   

Esetleg egy qualify=yes és kapsz státusz üzenetet, ill. nézhetsz egy sip show channels infot, az kiírja a használt codecet.
Ja és pl. asterisk -vvvr -nél látod, mit bűvészkedik.

...bár folyamatos csomagáramlásnak kellene látszania a szerver és kliens között (RTP) - azon megy a hang.

show channels:
a qualify-t engedélyeztem

Peer User/ANR Call ID Format Hold Last Message Expiry
212.51.122.137 1235 0b1YMAzjetr-ufA 0x4 (ulaw) No Tx: ACK
178.164.197.134 1234 4d32d5c20200c73 0x4 (ulaw) No Tx: ACK
178.164.197.134 (None) NzY0NGQ1YTIyZjl 0x0 (nothing) No Rx: REGISTER
3 active SIP dialogs

Szia!

tcpdump -T rtp -vvv -t futtattam

19:15:51.108843 IP (tos 0x0, ttl 64, id 5352, offset 0, flags [none], proto UDP (17), length 85)
ludmilla.tudos.info.15563 > ns02.szervernet.hu.domain: udp/rtpv1 49 c12 * 256 65536 1
19:15:51.131771 IP (tos 0x0, ttl 128, id 14753, offset 0, flags [none], proto UDP (17), length 78)
barossnet.hu.netbios-ns > 87.229.24.255.netbios-ns: udp/rtp 38 c55 272 65536 0
19:15:51.140139 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto UDP (17), length 121)
ns02.szervernet.hu.domain > ludmilla.tudos.info.15563: udp/rtpv1 85 c12 * 33152 65537 0
19:15:51.141328 IP (tos 0x0, ttl 64, id 5353, offset 0, flags [none], proto UDP (17), length 84)
ludmilla.tudos.info.41621 > ns02.szervernet.hu.domain: udp/rtpv1 48 c56 * 256 65536 1
19:15:51.145620 IP (tos 0x10, ttl 64, id 8910, offset 0, flags [DF], proto TCP (6), length 764)
ludmilla.tudos.info.ssh > 178-164-197-134.pool.digikabel.hu.60978: Flags [P.], cksum 0xe85d (incorrect -> 0x58de), seq 280:1004, ack 1, win 142, length 724
19:15:51.169443 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::29e9:fa8d:b39:94e8 > ff02::1:ffff:fffe: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::ffff:ffff:fffe
source link-address option (1), length 8 (1): e0:cb:4e:c6:b2:9d
0x0000: e0cb 4ec6 b29d
19:15:51.179273 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto UDP (17), length 133)
ns02.szervernet.hu.domain > ludmilla.tudos.info.41621: udp/rtpv1 97 c56 * 33155 65536 65536

-t kaptam, plusz pár ARP-t
(és, valahogy nem látom benne azt a sort amit keresnénk :S)

Mobilneten lógó mellékről hívtam az itthoni router mögött csücsülő szoftveres telefont.

Asteriskből ilyenem van:
Asterisk 1.6.2.9-2+squeeze4

sip set debug

(nem tudom a parancs veget, tabold ki. Ez azt csinalja, hogy mutatja asterisken belul a kuldott/fogadott SIP headereket).

A tcpdump ilyenre felejtos.

Ja, es az asterisk parancsot meg siman le alias-olhatod ugy, hogy asterisk -rvvvvv , az 5-os verbose szint a minimum, amivel csatlakozni erdemes.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Íme a "sip set debug on" kimenete
http://pastebin.com/QcKnAd2N

asterisk -rvvvvv -vel csatlakoztam

sip show peers kimenete:

Name/username Host Dyn Nat ACL Port Status
1234/1234 178.164.197.134 D N 53142 OK (117 ms)
1235/1235 212.51.122.137 D N 32370 OK (119 ms)
1236/1236 178.164.197.134 D N 5060 OK (7 ms)
1237 (Unspecified) D N 5060 UNKNOWN
sip.neophonex.hu/06213830 193.91.75.213 N 5060 OK (1 ms)

az 1235-ről hívtam az 1234-et (mobil -> itthoni soft)