#9 решается в большинстве случаев с помощью nat=yes и qualify=xxx в sip.conf для клиента. Некоторые клиенты (X-lite) упрощают подключение с помощью встроенных функций STUN и посылки UDP пакетов keep-alive. Опция qualify же напротив, посылает пакеты keep-alive со стороны Asterisk клиенту за NAT.
nat=yes
qualify=yes
-A INPUT -p udp -m udp —dport 5060 -m string —string «sipcli» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «sip-scan» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «iWar» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «sipvicious» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «sipsak» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «sundayddr» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «VaxSIPUserAgent» —algo bm —to 65535 -j DROP
-A INPUT -p udp -m udp —dport 5060 -m string —string «friendly-scanner» —algo bm —to 65535 -j DROP
_.flatten([1, [2], [3, [[[4]]]]]);
// вернёт [1, 2, 3, 4]
_.flatten([1, [2], [3, [[4]]]], true);
// вернёт [1, 2, 3, [[4]]]
var gulp = require('gulp');
gulp.task('default', function() {
gulp.src("./*.css")
.pipe(gulp.dest('./'));
gulp.watch('./*.js', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
});