Content Type
Profiles
Forums
Calendar
Posts posted by pashaumka
-
-
смотря что от телефонии надо ( какие входящие, какие исходящие )
если 700 баков на железку есть - взять хороший шлюз
если нет - https://evro-tel.com.ua/
-
GSM на нормальных железках или usb "свистках"?
SIP городской или интертелеком - к кому угодно. У меня 2 городских оператора, Life и "онлайн" АТС - все бегает.
-
1 минуту назад, beetle сказал:
Было бы неплохо получить откуда почитать, так как честно в тему АТС, SIP только заползаю.
Появилась потребность для себя организовать АТС, вот теперь и ползу -
в астериске есть команда dial(,,опции)
вам надо почитать про 'T' и 't' как минимум.
А так-же про features.conf
-
так покрасивее )))
// выборочно но забрать инфу об онухах function sel_get_nmsEponLlidOnuBindEntry($parent_ifIndex="", $mac_addr="", $function_list=array() ) { $strings = \common\strings::getInstance(); $snmp_mac = ""; if($mac_addr) $snmp_mac = $strings->format_mac(bin2hex($mac_addr),"snmp"); if( is_array($function_list) && count($function_list) ) { } else { $function_list=array("1","2","3","4","5","6","7","8","9","10","11"); } if( false === ( $result=self::SnmpSelectiveQueryAll(".1.3.6.1.4.1.3320.101.11.1.1", $function_list, $parent_ifIndex, $snmp_mac ) ) ) return false; return( self::parse_nmsEponLlidOnuBindEntry( $result, $parent_ifIndex, $mac_addr ) ); } function get_nmsEponLlidOnuBindEntry() { if( false === ( $result = self::snmpQueryAll(".1.3.6.1.4.1.3320.101.11.1.1","") ) ) { return false; } return( self::parse_nmsEponLlidOnuBindEntry( $result ) ); } protected static function parse_nmsEponLlidOnuBindEntry( $result, $__parent_ifIndex="", $__mac_addr="" ) { $strings = \common\strings::getInstance(); $nest_array=array(); foreach($result as $res_oid => $value) { $key = self::subtok($res_oid,".", -8); $index = explode('.', $key); $func = $index[0]; $parent_ifIndex = $index[1]; $mac_addr = sprintf("%02x:%02x:%02x:%02x:%02x:%02x", $index[2],$index[3],$index[4],$index[5],$index[6],$index[7]); switch($func) { case "1": $func="llidEponIfDiid"; break; case "2": $func="llidSequenceNo"; break; case "3": $func="onuMacAddressIndex"; $value = $strings->format_mac(bin2hex($value),"linux"); break; case "4": $func="llidOnuBindDesc"; break; case "5": $func="llidOnuBindType"; break; // static(0), dynamic(1) case "6": $func="llidOnuBindStatus"; break; // authenticated(0), registered(1), deregistered(2), discovered(3), lost(4), auto-configured(5), unknow case "7": $func="llidOnuBindDistance"; break; case "8": $func="llidOnuBindRTT"; break; case "9": $func="LastRegTime"; $value = self::get_LastXregReason($value); break; case "10": $func="LastDeregTime"; $value = self::get_LastXregReason($value); break; case "11": $func="LastDeregReason"; break; // 8 power-off 9 wire-down default: break; } $nest_array[$parent_ifIndex][$mac_addr][$func]=$value; } if($__parent_ifIndex!="") { if($__mac_addr!="") { if(isset($nest_array[$__parent_ifIndex][$__mac_addr]) ) return $nest_array[$__parent_ifIndex][$__mac_addr]; return false; } return $nest_array[$__parent_ifIndex]; } return($nest_array); } static function get_LastXregReason($value) { $data = unpack( 'nYear/CMonth/CDay/CHour/CMin/CSec/Cp1/Cp2/Cp3/Cp4', $value ); $result = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$data["Year"],$data["Month"],$data["Day"],$data["Hour"],$data["Min"],$data["Sec"]); return($result); }
-
В 26.09.2019 в 19:27, camchatix сказал:
Большое спасибо что помогли и за ваше терпение ВСЕМ!
база создавалась с кодировкой УТФ8. Таблицы тоже проверил - все УТФ8
скачал файл с сайта, на сервере unzip ponmon.zip. Потом mysql -uroot -p -D pon <pon.sql
файл дампа заливался в базу с кряками.
поставил phpmyadmin - в таблице кряки. удалил таблицы, импорт файла в браузере через phpmyadmin - и все ок. таблица pm_texts в порядке
Спасибо что помогли!
пс. Готовы донатить если будет версия для ZTE C300
а по вашей голове оригинальная дорументация присутствует?
-
1 час назад, Baneff сказал:
Вот, кстати. Разместил я свой веб сервер на площадке хостера, хостер выдал два адреса: ipv4 и ipv6. Оба эти адреса я прописал в DNS. Как клиент будет выбирать на какой из этих двух адресов ему стучаться? На оба по очереди по какому-то алгоритму или будет тупо стучать до посинения в первый попавшийся?
предпочтение со стороны клиента.
если ДНС ответит 2-мя адресами - то по предпочтению
-
enp10s14: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 2001:67c:21f0:b800:210:ddff:fe23:eeee prefixlen 64 scopeid 0x0<global> inet6 fe80::210:ddff:fe23:eeee prefixlen 64 scopeid 0x20<link> ether 00:10:dd:23:ee:ee txqueuelen 1000 (Ethernet)
2 адреса: 192.168. и 2001::
-
6 часов назад, Baneff сказал:
Кстати, понятно теперь, почему тут молчанка по этому вопросу. То неслабые баталии разворачиваются по мелким вопросам, а тут почти полная тишина, кроме @vop никто не отвечает. Думаю все, кто в теме, как-то уже затарились всеми правдами и неправдами PI блоками и теперь молчат в тряпочку, ну на всякий случай
обратитесь в нетассист!
-
12 часов назад, Den_LocalNet сказал:
Значит что у пацанов не работает больше epon mode zaebis
То есть древние кривые онушки не регаются и джиттер как из космоса
))))
-
В 13.10.2019 в 11:38, Baneff сказал:
А в чём проблема с IPoE на FreeBSD? Accel-а нету, да. Был бы - было бы проще. Но менять ради этого ось на системе, которая более двадцати лет работает как-то лень. Какая ось лучше - спорить не будем, есть то что есть. Телефон поддержки тоже беспокоит крайне редко. Но это всё касаемо ipv4. А вот какие грабли вылезут при внедрении ipv6 пока непонятно. Но будем пробовать потихоньку.
так просто расскажите, на чем это реализовать.. Тазик свободные есть - попробую
-
Только что, Baneff сказал:
А как насчёт FreeBSD + IPoE + DHCP ?
а каким феншуем поднимается IPoE на рогатых? я от рогатых, как от брасов, ушел в 15 году.....поставил пингвинов и после 6-ти вечера телефон техподдержки замолчал
- 2
- 1
-
lunux / accel - pppoe, ipoe - все готово "из коробки" ( dhcp )
freebsd / mpd5 - pppoe - через костыли. Скрипт + quagga ( router advertisement ). мой Пост от 2013 года
dhcpv6 - для серверов - да. Для юзеров - ээээ - надо ли ? Но это мое мнение..
- 1
-
а чем вы терминируете абонов ( pppoe, ipoe, dhcp ) ?
-
В 06.10.2019 в 15:48, Ромка сказал:
Человек писал для себя, как умел, поделился с коллегами, что не каждый делает. Не нравится, напишите своё, и поделитесь. Зачем же поливать грязью?
Полностью поддерживаю
-
ELTEX MES5324
24 10Ж 4 40Ж
-
local.com.ua(cloudflare) , facebook, youtube, subnets.ru......
сейчас добавится вся Беларусь ))
-
Райп уже даже лирам перестал выдавать /22 - уже только /24.
и очень поприветствовал запускать ipv6, чего и вам рекомендую.
17 часов назад, Den_LocalNet сказал:А ещё попутно заменить несколько миллионов домашних роутеров. И десяток тысяч железок у провайдеров.
"Москва не сразу строилась"
Вы начните, Проведите акции - включи IPv6.
-
В 25.09.2019 в 10:34, DenimMark сказал:
Всем хорошего дня.
Какую карту взять, посоветуйте.
Выбираю из того что здесь предлагают
- Silicom PE210G2SPI9(OEM-версия Intel X520-DA2)
- Intel X520-DA2 (82599)
- SuperMicro AOC-STGN-I2S Dual-port 10 Gigabit REV: 1.01 (82599)
- SuperMicro AOC-STGN-I2S Dual-port 10 Gigabit REV: 2.00 (82599)
- SuperMicro AOC-CTG-I2S Dual-port 10 Gigabit Ethernet Adapter REV: 1.00 (82599)PCIe3 и побольше ядер в процаХ
- 1
-
-
13 часов назад, a_n_h сказал:
"офтопну" - ну почему под ZTE 220 никто ничего не предлагает?!
именно под него ЕСТЬ мануал с описанием и оидами?
под 320й я нашел, как зарегать онуху... но прописывание сервис портов и прочее - нифига нет или я snmpwalk ом - не добрался до той ветки ( нарвавшись на зацикленность оида )
-
В 29.08.2019 в 13:35, VitalyMoiseev сказал:
есть такая проблема - номер СФП одной цифрой выбирается. Надо немного переделать логику скрипта опроса. Постараюсь до завтра сделать новую версию без этой проблемы.
// получить индексы ePON портов public static function get_epon_tree_info() { //http://www.circitor.fr/Mibs/Html/N/NMS-EPON-OLT-PON.php#NMSEponOltPonEntry $ponIfIndex = ".1.3.6.1.4.1.3320.101.6.1.1"; if( false === ( $snmp_reply = self::snmpQueryAll($ponIfIndex) ) ) { return false; } $re_arr=array(); foreach($snmp_reply as $snmp_key => $value ) { $function = self::subtok($snmp_key,".",-2,1); $ifIndex = self::subtok($snmp_key,".",-1); switch($function) { case "1": $function = "ponIfIndex"; break; case "2": $function = "llidSequenceNo"; break; // последовательность зареганых ОНУ case "3": $function = "onuAuthMethod"; break; // none(0), manual(1), mac(3), loid(4), hybrid(6) case "4": $function = "isCheckOnuMac"; break; //yes(1), no(2) case "5": $function = "isPONBelongtoPSG"; break; //alone-pon(0), b-psg(1), active-pon(2), standby-pon(3), c-psg(4) case "6": $function = "pONBelongtoPSGID"; break; // case "7": $function = "isUsingMpcpRegisteAckDelayTime"; break; //yes(1), no(2) case "8": $function = "mpcpRegisteAckDelayTime"; break; //1..50 case "9": $function = "ponIfAdminStatus"; break; //up(1), down(2) case "10": $function = "ponIfInFecStatus"; break; //on(1), off(2) case "11": $function = "ponIfOutFecStatus"; break; //on(1), off(2) case "12": $function = "ponIfLaserStatus"; break; //on(1), off(2) case "13": $function = "isOnuDataSwitch"; break; //on(1), off(2) case "14": $function = "ponIfProtectedStatus"; break; //on(1), off(2) case "15": $function = "ponIfDynamicMacLearningStatus"; break; // on(1), off(2) case "16": $function = "ponIfMacACL"; break; case "17": $function = "ponIfIpACL"; break; case "18": $function = "fiberProtectHandInHand"; break; case "19": $function = "fiberProtectGroup"; break; case "20": $function = "splittingRatio"; break; // Макс деление на дереве case "21": $function = "activeOnuNum"; break; // кативных ону case "22": $function = "inactiveOnuNum"; break; // неактивных ону case "23": $function = "llidIfindexString"; break; default : break; } $re_arr[$ifIndex][$function]=$value; } return($re_arr); } public static function get_epon_optics_alarm_info() { //http://www.circitor.fr/Mibs/Html/N/NMS-EPON-OLT-PON.php#NMSEponOltPonEntry $ponIfIndex = ".1.3.6.1.4.1.3320.101.6.2.1"; if( false === ( $snmp_reply = self::snmpQueryAll($ponIfIndex) ) ) { return false; } $re_arr=array(); foreach($snmp_reply as $snmp_key => $value ) { $function = self::subtok($snmp_key,".",-2,1); $ifIndex = self::subtok($snmp_key,".",-1); switch($function) { case "1": $function = "ifIndex"; break; case "2": $function = "txPowerAlarmUpLimitEnable"; break; case "3": $function = "txPowerAlarmUpLimitThreshold"; break; case "4": $function = "txPowerAlarmUpLimitClearThreshold"; break; case "5": $function = "txPowerAlarmLowLimitEnable"; break; case "6": $function = "txPowerAlarmLowLimitThreshold"; break; case "7": $function = "txPowerAlarmLowLimitClearThreshold"; break; case "8": $function = "temperatureAlarmUpLimitEnable"; break; case "9": $function = "temperatureAlarmUpLimitThreshold"; break; case "10": $function = "temperatureAlarmUpLimitClearThreshold"; break; case "11": $function = "temperatureAlarmLowLimitEnable"; break; case "12": $function = "temperatureAlarmLowLimitThreshold"; break; case "13": $function = "temperatureAlarmLowLimitClearThreshold"; break; case "14": $function = "voltageAlarmUpLimitEnable"; break; case "15": $function = "voltageAlarmUpLimitThreshold"; break; case "16": $function = "voltageAlarmUpLimitClearThreshold"; break; case "17": $function = "voltageAlarmLowLimitEnable"; break; case "18": $function = "voltageAlarmLowLimitThreshold"; break; case "19": $function = "voltageAlarmLowLimitClearThreshold"; break; case "20": $function = "currentAlarmUpLimitEnable"; break; case "21": $function = "currentAlarmUpLimitThreshold"; break; case "22": $function = "currentAlarmUpLimitClearThreshold"; break; case "23": $function = "currentAlarmLowLimitEnable"; break; case "24": $function = "currentAlarmLowLimitThreshold"; break; case "25": $function = "currentAlarmLowLimitClearThreshold"; break; default : break; } $re_arr[$ifIndex][$function]=$value; } return($re_arr); } protected static function subtok($string, $chr, $pos, $len = NULL) { return implode($chr,array_slice(explode($chr,$string), $pos, $len)); } protected static function subtok2($string, $chr, $pos, $len = NULL) { $str=""; foreach( array_slice(explode($chr,$string), $pos, $len) as $char) $str .= chr($char); return $str; }
в помощь
- 1
-
По поводу лени - 1000%.. только блаблабла и разжевывание соплей.....
-
11 минут назад, vop сказал:
Ах, да. Клиентские роутеры, которые не поддерживают дуал-стек... Ну им можно не выдавать v6. Пока у них роутер не сдохнет. Нет же задачи обязательно и срочно всех перевести на ipv6. Фишка в том, что внедрение ipv6 происходит "мягко". Т.е. для многих клиентов даже не заметно, что у них появляется второй ip
они не понимают этого....разве что гики..Мы всем клиентам включаем при настройке роутера.
Переадресация звонков по протоколу SIP
in Hardware
Posted
И надо подробно описать для себя: что делать с каждой линией, приходящей в АТС и со звонками из АТС.