Перейти до

BDCOM 3310p необходим oid для управления вланами


crazik

Рекомендованные сообщения

Добрый день, необходимо управление олтом через snmp а точнее управление вланом на виртуальном порту ону (epon onu port 1 ctc vlan mode tag VID ). 

Ссылка на сообщение
Поделиться на других сайтах

if ($_POST['v_new']!=$vlan) {
        $vlan_set = snmp2_set($ip, $rw, "1.3.6.1.4.1.3320.101.12.1.1.3.$key_onu.$port", i, $_POST['v_new']);
                    if ($vlan_set) {
                        echo "<center><h3>vlan успешно прописан!!</center></h3><br>";
                        $write=snmp2_set($ip, $rw, "1.3.6.1.4.1.3320.20.15.1.1.0", i, "1");
                        if ($write){
                            echo "<center><h3>Сохранено!!!</center></h3><br>";
                        }
                        
                    }
                    
    }
                        else {
                            echo "<center><h3>vlan остался неизменным!!!</center></h3>";
                        }

 

У мене так працює

Ссылка на сообщение
Поделиться на других сайтах

$key_onu - epon0/1:13(для примера)

$port. - 1 или 2 или 3 или 4 ( в зависимости от типа ОНУ)

Значения переменных получаем после опроса ОЛТа по SNMP протоколу...

Відредаговано ua.feldsher
Ссылка на сообщение
Поделиться на других сайтах

Опросил олт по снмп и к сожелению не нашел часть оида которая за порт отвечает 

 System Bootstrap, Version 0.3.4,  Build 29333.

бело бы здорово если бы вы приложили пример оида. за раннее благодарен.

Ссылка на сообщение
Поделиться на других сайтах

<?php header('Content-type: text/html; charset=utf-8')?>
<?php
session_start();
include_once("db_connect.php");
include_once 'session.php';
include_once("var.php");
?>
<html>
<head>
    <title>PON</title>
    <style>
    .zebraRow {
        background-color: #c0c0c0;
    }
    </style>
</head>
<body>
<?php
//print_r($_GET);
$ip_olt=$_GET['ip'];

function _submit() {
      window.open('','new_win','width=400,height=600,location=no,toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=yes');
  }
$Array_descr = snmprealwalk($ip_olt, $ro, "ifDescr");
echo "BDCOMM - ".$ip_olt;
echo "<br>";
if(count($Array_descr)>0) {
    
            foreach($Array_descr as $key => $type) {
    
                            $key = str_replace("IF-MIB::ifDescr.", "", $key);
                            $type = trim(str_replace("STRING: ", "", $type));
                            
                            //$id_onu = strtok($key, ":");
                            $olt = strtok($type, ":");
//print_r($id_onu);
                                if(preg_match("#:#", $type)){
                                $active="";
                                    $opt_level_up = snmpget($ip_olt, $ro, "enterprises.3320.101.10.5.1.5.$key");
                                    $opt_level_up = trim(str_replace("INTEGER: ", "", $opt_level_up)/10);
/*$key_onu=$key;
echo ($opt_level_up)." POrt ".$key;
echo "<br>";
*/
                                    $mac_onu = snmpget($ip_olt, $ro, "enterprises.3320.101.10.4.1.1.$key");
                                    $mac_onu = str_replace(" ", ":", strtolower(trim(str_replace("Hex-STRING: ", "", $mac_onu))));
                                    
                                    $active = snmpget($ip_olt, $ro, "1.3.6.1.4.1.3320.101.10.1.1.26.$key");
                                    $active = str_replace(" ", ":", strtolower(trim(str_replace("INTEGER: ", "", $active))));

                                    $descr = snmpget($ip_olt, $ro, "mib-2.31.1.1.1.18.$key");
                                    $descr = str_replace(" ", ":", strtolower(trim(str_replace("STRING: ", "_", $descr))));

                                    $Array_ports="";
                                    $Array_ports_="";
                                    $Array_ports__="";
                                    $Array_ports = snmprealwalk($ip_olt, $ro, "enterprises.3320.101.12.1.1.8.$key");
                    
                                        foreach($Array_ports as $key_ => $state) {
                                            $port = str_replace("SNMPv2-SMI::enterprises.3320.101.12.1.1.8.$key.", "", $key_);
                                            $Array_state=explode(":", $state);
                                            $state = trim($Array_state[1]);

                                            if($state == 1 ){ $state="up"; }
                                            if($state == 2 ){ $state="down"; }
                                                $Array_ports__[]= $port." : ".$state;
                                        }

                                                //if(count($Array_ports__)>0){
                                                    //$Array_olt[$olt][$mac_onu]['ports'] = implode("<br>", $Array_ports__);
                                                    $Array_olt[$olt][$mac_onu]['ports'] = $Array_ports__[0];
                                                //}
                                    $Array_olt[$olt][$mac_onu]['key_onu'] = $key;
                                    $Array_olt[$olt][$mac_onu]['type'] = $type;
                                    $Array_olt[$olt][$mac_onu]['level_up'] = $opt_level_up;
                                    $Array_olt[$olt][$mac_onu]['active'] = $active;
                                    $Array_olt[$olt][$mac_onu]['descr'] = $descr;
                                    
                            }
            }    

            ksort($Array_olt);
            echo "<form action=”onu.php” id=”form1”></form>";

            print("<br><br><center><table border='0' cellpadding='0' cellspacing='1' width='90%'>");
            print("<tr class=head bgcolor=#ffffc0>
             <td ><strong>EPON №</strong></td>
             <td ><strong>Имя ONU</strong></td>
             <td ><strong>Описание</strong></td>
             <td ><strong>Mac ONU</strong></td>
             <td ><strong>Уровень пр., db</strong></td>
             <td ><strong>На карте...</strong></td>
             </tr>");

            foreach($Array_olt as $key => $type)

            {
                $olt = $key;
                $ports="";
                    foreach($type as $key1 => $type1)
                    {
                        $mac_onu = $key1;
                        $level_up = $type1['level_up'];
                        $type = $type1['type'];
                        $active = $type1['active'];
                        $ports = $type1['ports'];
                        //$d = $type1['descr'];
                        $key_onu = $type1['key_onu'];
                        $n++;

                        $query="SELECT descr FROM pon WHERE mac_onu='$mac_onu'";
                        $res=mysql_query($query);
                        $itog=mysql_fetch_assoc($res);
                            $d = $itog['descr'];

                                if(($olt!=$old_olt)&&($n!=1)) {

                                print("<tr class=head bgcolor=#ffffc0><td>Всего: $m</td>");
                                $m=0;
                                print("<tr height=40><td colspan=5></td></tr>");
                                }

                                $m++;

                                    if ($level_up == 0) {
                                                $colorfont="red";
                                                $lable="ONU не подключена!";
                                                        
                                                    } elseif ($level_up <= -25) {

                                                        $lable="Плохой сигнал!!!";
                                                        $colorfont="blue";

                                                    } else  {

                                                        $colorfont="green";
                                                        $lable="Сигнал в пределах нормы!";
                                                       

                                                    }                

                                    
                                

                        $cssClass="normalRow";

                                if($n % 2 == 0) {
                                    $cssClass = "zebraRow";
                                }
                        
                        echo "
                        <tr class=$cssClass>
                        <td><a href='edit_onu.php?epon=$olt&epon_onu=$type&mac_onu=$mac_onu&key_onu=$key_onu&descr=$d&ip=$ip_olt&port=$port' target='_blank'>$olt</td>
                        <td>$type</td>
                        <td>$d</td>
                        <td>$mac_onu</td>
                        <td><font color=$colorfont><b> ".$level_up." db</b> <br/>".$lable."</td>
                        <td nowrap align='left'>
                        ";
                                $query="SELECT lat FROM pon WHERE mac_onu='$mac_onu'";
                                $res=mysql_query($query);
                                $itog=mysql_fetch_assoc($res);
                                    $lat = $itog['lat'];
                                        //echo $lat;# code...
            
                                        if ($lat == 0) {
                                                    echo "<a href='location.php?&olt=$ip_olt&mac=$mac_onu&lat=$lat&descr=$d'><img src='pic/red.png' height=\"50\"";

                                        } else {
                                                    echo "<img src='pic/green.png' height=\"50\"";
                                        }
            

                            //if(($active==1)||($active==3)){ print("$ports"); }else{}


                                echo "</td><td><a href='onu.php?epon=$type&mac_onu=$mac_onu& key_onu=$key_onu&descr=$d&ip=$ip_olt&port=$port' target='_blank'><img src='pic/view.png' width=\"60\"></a>
                                
                                </td></tr>    ";

                                $old_olt=$olt;

            //echo "$old_olt";<a href='onu.php?mac_onu=$mac_onu& key_onu=$key_onu&descr=$d&ip=$ip_olt' target='_blank'><img src='pic/editButton.png' height=\"50\"></a>
                    }
            }




print("<tr class=head bgcolor=#ffffc0><td>Всего: $m</td>");
print("</table></center>");
}

?>

</body>
</html>

Опрашивает ОЛТ, и строит таблицу с уровнями сигалов...

Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое, с кодом разобрался, вы мне очень помогли!

может у вас есть оид на выполнения данной команды epon bind-onu mac xxxx.xxxx.xxxx lid для привязки ону к олту

Ссылка на сообщение
Поделиться на других сайтах

@@ua.feldsher, можно пользоватся pastebin.com

а то код тяжело так читать, ну или хотя бы засунуть в секцию code 

 

 

 

может у вас есть оид на выполнения данной команды epon bind-onu mac xxxx.xxxx.xxxx lid для привязки ону к олту

а зачем такие извращения?

я лично цепляю темплейт, который выдает онушке влан, скажем 4001

потом, когда на онушке уже есть влан - его можно переназначить на другой влан, который нужен вам

заодно в 4001 можно запустить гостевой дхцп, с которого будет доступ скажем на биллинг, что бы зарегать абонента и выдать нужный влан 

 

вот как пример, я делаю в убиллинге

вот оиды для бдкома

Ссылка на сообщение
Поделиться на других сайтах

@@ua.feldsher, можно пользоватся pastebin.com

а то код тяжело так читать, ну или хотя бы засунуть в секцию code 

 

 

 

Извините. Я не задумывался над этим. В дальнейшем буду учитывть. Кстати, только сейчас заметил секцию "код".

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

у нас задача стоит следующая: Есть партия ону она добавляется в базу биллинга. в момент подключения выбраная ону должна через биллинг  биндится на определенный олт .для этого и нужен оид для команды epon bind-onu mac xxxx.xxxx.xxxx lid

Відредаговано crazik
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Костыль конечно, но все же:

- пишем темплейт для добавления новых ОНУ в определенный ВЛАН(гостевой)

- дергаем скриптом - проверяем не появилась ли новая ОНУ во  влане

-сравниваем с базой, и согласно условий

-$vlan_set = snmp2_set($ip, $rw, "1.3.6.1.4.1.3320.101.12.1.1.3.$key_onu.$port", i, $_POST['v_new']);

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від forella
      PWR-75-DC — это сменный блок питания для оптических линейных терминалов BDCOM серии  P3608/16-2TE, GP3600-04/08/16.
      Предназначен для питания ОЛТ от сети постоянного напряжения 46-72В.
      Поддерживает горячую замену
      Новый. шел с олт bdcom gp3600-16 в комплекте. не пригодился.
    • Від LazukinIvan
      Пропоную до продажу абсолютно нову OLT BDCOM GP3600-16B у заводській упаковці. Обладнання не використовувалось, з двома AC-блоками живлення.
      🔹 Кількість PON портів: 16
      🔹 UpLink: 4 × GE (SFP) + 2 × 10GE (SFP+)
      🔹 Блоки живлення: 2 × AC (нові, встановлені)
      🔹 Форм-фактор: 1U, монтаж у 19” стійку
      🔹 Стан: 100% новий
      🔹 Комплектація: Повна — OLT + 2 блоки живлення + кріплення + заводська упаковка
      💵 Ціна: 80 000 грн / шт
      💳 Можлива оплата по безналу без ПДВ + 6%


       
    • Від tadesky
      Вітаю, 

      Маємо в наявності б/в OLT: 

      BDCOM  P3310 С-2АС - 1 шт. = 8000 грн
      BDCOM  P3310 С - 1 шт. = 8000 грн
      BDCOM P3616-2 TE - 3 шт. = 38000 грн

      Всі OLT з запасними БЖ 220V (купляли на всяк випадок). Працювали весь час у серверних, робочі та без проблем.

      За потреби можемо укомплектувати модулями Picotel EPON SFP PX++ = 800 грн/шт. 

      Питання та пропозиції прохання в особисті повідомлення. 

      Дякую. 
    • Від Mykola_
      Продам bdcom 3310D в идеальном состоянии, не вскрывался . Можно доукомплектовать БП пролайн. Цена 8500. Торг в пределах разумного приветствуется .

    • Від ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
×
×
  • Створити нове...