Перейти к содержимому
Калькуляторы

ZTE C320 конфигурация ONU через профили

есть ли возможность на ZTE C320 реализовать некий аналог, как это сделано на BDCOM3310:

 

epon onu-config-template default
 ...
 cmd-sequence 5 epon onu all-port ctc vlan mode tag %1
 ...
!
interface EPON0/1
 epon pre-config-template default binded-onu-llid 64 param 2064
 ...
 epon pre-config-template default binded-onu-llid 1 param 2001
!

 

т.е. зарегистрировать ONU без первоначальной привязки ее MAC, и подсунуть ей первоначальный конфиг. в идеале с входящими параметрами, которые статически заданы на OLT

Изменено пользователем simpl3x

Поделиться сообщением


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

В 16.02.2018 в 19:41, simpl3x сказал:

есть ли возможность на ZTE C320 реализовать некий аналог, как это сделано на BDCOM3310:

 


epon onu-config-template default
 ...
 cmd-sequence 5 epon onu all-port ctc vlan mode tag %1
 ...
!
interface EPON0/1
 epon pre-config-template default binded-onu-llid 64 param 2064
 ...
 epon pre-config-template default binded-onu-llid 1 param 2001
!

 

т.е. зарегистрировать ONU без первоначальной привязки ее MAC, и подсунуть ей первоначальный конфиг. в идеале с входящими параметрами, которые статически заданы на OLT

 

Добрый день.

Исходя из нашего опыта могу сказать, что Huawei и ZTE позиционируют работы своих устройств в связке с NMS(для ZTE Netnaumen). Вся автоматизация делается через NMS

Поделиться сообщением


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

Реализовал скрипт авторегистрации Ону на олте через телнет

 

<?php

function fgets_u($pStdn) {

            $pArr = array($pStdn);

        if (false === ($num_changed_streams = stream_select($pArr, $write = NULL, $except = NULL, 0))) {
            print("\$ 001 Socket Error : UNABLE TO WATCH STDIN.\n");
            return FALSE;
        } elseif ($num_changed_streams > 0) {
                return trim(fgets($pStdn, 1024));
        }
            
    }

$olt_port= "2";
$olt_host= "10.0.6.99";
$olt_user = "admin";
$olt_passwd = "admin";

$onu_profile = "LP_ONU-1G";
$onu_type = "ONU_1G";



$fp=pfsockopen("$olt_host",23);

echo "Telnet session opening ...";

sleep(1);

echo fgets_u ($fp)."\r\n"; 
echo fgets_u ($fp)."\r\n"; 
echo fgets_u ($fp)."\r\n"; 
echo fgets_u ($fp)."\r\n"; 
/**/


fputs($fp,"$olt_user\r\n"); 
echo fgets_u ($fp)."\r\n"; 
fputs($fp,"$olt_passwd\r\n"); 
sleep(1);
echo fgets_u ($fp)."\r\n"; 
fputs($fp,"\r\n"); 
echo fgets_u ($fp)."\r\n"; 




fputs($fp,"configure terminal\r\n"); 
sleep(1);
echo fgets_u ($fp)."\r\n"; 
echo fgets_u ($fp)."\r\n"; 
fputs($fp,"\r\n"); 


fputs($fp,"interface gpon-olt_1/1/$olt_port\r\n"); 
sleep(1);
echo fgets_u ($fp)."\r\n"; 
echo fgets_u ($fp)."\r\n"; 
fputs($fp,"\r\n"); 
echo fgets_u ($fp)."\r\n"; 


fputs($fp,"show pon onu uncfg\r\n"); 
sleep(1);
echo fgets_u ($fp)."\r\n"; 
$unreg = fgets_u ($fp);
if ($unreg!="%Code 40285 : No related information to show."){
	echo $unreg."\r\n"; 
	echo fgets_u ($fp)."\r\n"; 
	fputs($fp,"\r\n"); 
	while ($line= fgets ($fp)) {
		if (substr ($line,0,4)=="ZXAN"){
			break(1);
		}else{ 
			print ($line."\r\n");
			$onu[]= substr($line,41,12);
		}
	}
}else{
	echo $unreg	;
}



fputs($fp,"show gpon onu baseinfo gpon-olt_1/1/$olt_port\r\n"); 
sleep(1);
echo fgets_u ($fp)."\r\n"; 
echo fgets_u ($fp)."\r\n"; 
fputs($fp,"\r\n"); 

while ($line= fgets ($fp)) {
	if (substr ($line,0,4)==" --M"){
		fputs($fp," \r\n"); 
	}
	if (substr ($line,0,4)=="ZXAN"){
		break(1);
	}else{ 
		print ($line);
		$max_onu_reg= substr($line,15,3);
	}
}

if (isset($onu)){	
	foreach ($onu as $sn){
		print ($sn."\r\n");
		$max_onu_reg=$max_onu_reg+1;
		fputs($fp,"onu $max_onu_reg type $onu_type sn $sn \r\n"); 
		echo "onu $max_onu_reg type $onu_type sn $sn \r\n";

		while ($line= fgets ($fp)) {
			if (substr ($line,0,4)=="ZXAN"){
				break(1);
				print ($line."\r\n");
			}else{ 
				print ($line."\r\n");
			}
		}
		fputs($fp,"onu $max_onu_reg profile line $onu_profile \r\n"); 
		echo "onu $max_onu_reg profile line $onu_profile \r\n";
		
		while ($line= fgets ($fp)) {
			if (substr ($line,0,4)=="ZXAN"){
				break(1);
				print ("!!".$line."\r\n");
			}else{ 
				print ("--".$line."\r\n");
			}
		}
	}
}

	sleep(1);
	fputs($fp,"exit\r\n\r\n");

	echo "3".fgets_u ($fp)."\r\n"; 
	echo "4".fgets_u ($fp)."\r\n";	
	sleep(1);
	echo "5".fgets_u ($fp)."\r\n"; 

	foreach ($onu as $key=>$value){
		$curr_onu= $max_onu_reg+$key;
		fputs($fp,"pon-onu-mng gpon-onu_1/1/$olt_port:$curr_onu\r\n\r\n"); 
		sleep(1);
		echo "3".fgets_u ($fp)."\r\n"; 
		echo "3".fgets_u ($fp)."\r\n"; 
		sleep(1);
		fputs($fp,"service 1 gemport 1 untag\r\n\r\n"); 
		sleep(2);
		echo "4".fgets_u ($fp)."\r\n"; 
		echo "4".fgets_u ($fp)."\r\n"; 
		echo "4".fgets_u ($fp)."\r\n"; 
		echo "4".fgets_u ($fp)."\r\n"; 
	}

echo "Telnet session closing ..."."\r\n"; ;

fclose($fp);

?> 

 

 

Трафик в дефолтном влане. 

Поделиться сообщением


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

/некропостинг mode

 

В 16.02.2018 в 17:41, simpl3x сказал:

есть ли возможность на ZTE C320 зарегистрировать ONU без первоначальной привязки ее MAC

Если регистрировать по серийнику, то можно прописать хоть 1, хоть 100 ONU сразу со всеми настройками.

Поделиться сообщением


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

@petro_drozd откройте для себе expect, код станет куда более читабельным 

https://linux.die.net/man/1/expect

Поделиться сообщением


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

Я честно гвооря не ставил перед собой цели делать текст читабельным.

 

Я бы с удовольствием воспользовался SNMP вместо этого telnet костылинга. Но увы нигде никакой инфы.

Поделиться сообщением


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

@petro_drozd посмотрите на down.51cto.com, для хуавей там сливают всякое, для zte не искал

Поделиться сообщением


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

Нервы не выдерживают)

Абсолютно никакой инфы как забрать mac таблицу по snmp

 

Пишут что надо скачать netnumen и встать на него wireshark, но где взять netnumen х.з.

 

 

Нашел таблицу

[define]

DEVICE="ZTE 320"





[signal]

SIGNALMODE="ZTE"

SIGINDEX=".1.3.6.1.4.1.3902.1015.1010.1.1.1.29.1.5."

MACINDEX=".1.3.6.1.4.1.3902.1015.1010.1.1.1.1.1.4"

SIGVALUE="STRING:"

MACVALUE="Hex-STRING:"

OFFSET="0"

OFFSETMODE="none"

DOWNVALUE="No Such Instance currently exists at this OID"



[misc]

CARDOFFSET="1"

FDBINDEX=".1.3.6.1.4.1.3902.1015.6.1.3.1.5.1"



[vlan]

PVID=".1.3.6.1.4.1.3902.1015.1010.1.1.1.19.1.1."

ADDUNI=".1.3.6.1.4.1.3902.1015.1010.1.1.1.10.1.1.1."

ALLONU=""

ALLCARDS=".1.3.6.1.4.1.3902.1015.2.1.1.3.1.4"

TRUNK=""

ADDPON=".1.3.6.1.4.1.3902.1015.20.4.1.1."



[onu_reg]

TYPE="EPON"

ALLCARDS=".1.3.6.1.4.1.3902.1015.2.1.1.3.1.4"

UNCFGLIST=".1.3.6.1.4.1.3902.1015.1010.1.7.14.1.2"

EACHLLID=".1.3.6.1.4.1.3902.1015.1010.1.7.4.1.1."

 

Поделиться сообщением


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

@petro_drozd в условиях отсутствия мибов я делал так. делает snmpwalk по всему дереву, затем меняете что вам нужно (ну т.е. добиваетесь изменения мак-таблицы), затем делаете walk ещё раз и делаете diff. да, вылезет куча мусора в виде счётчиков, но всё равно, в целом такой подход очень неплохо работает

Поделиться сообщением


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

может я ошибаюсь, но фишка в том, что не все оиды доступны по snmpwalk.

 

тем более недоступны значения write и всякие хитрые маневры типа "прочитать x, затем записать y"

Поделиться сообщением


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

@petro_drozd для write - да, для read обычно всё доступно через walk, но бывают нюансы, да, что какая-то ветка не обходится walk-ом, хз специально это делают или бага

вам-то что нужно сделать?

Поделиться сообщением


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

у меня в биллинг интегрирована работа с bdcom 3310 

1. опрашиваю сигнал онушек

2. оправшиваю mac адреса за онушками для автоматической привязки онушки к пользователю

3. удаляю онушки с олта когда они переходят в другую ветку.

 

С ZTE C320 возникла проблема с регистрацией ону.

Она решилась хитровыделанным скриптом, в котором есть Telnet часть, которую я заменяю на snmp.

 

итого.

1. сигналы с ону - вроде как доступны.

2. таблица mac - найдена.

3. регистрация по snmp 

 

Поделиться сообщением


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

Короче 12 часов работы и я его интегрировал.

//список онушек

$ZTEonuActivePonDiidoid = '.1.3.6.1.4.1.3902.1012.3.28.1.1.2';

//статусы онушек 0-выключена 6-включена

$ZTEonuStatusoid =".1.3.6.1.4.1.3902.1012.3.28.2.1.3";
//mac адреса онушек нужно откусить первые 4 символа
$ZTEonuIDoid = ".1.3.6.1.4.1.3902.1012.3.28.1.1.5";



//вендор онушки

$ZTEonuVendorIDoid = '1.3.6.1.4.1.3902.1012.3.50.11.2.1.1';



//мощща на онушке  если больше 30000    $RxPower = ($RxPower-65536)*0.002-30; если меньше 30000 $RxPower = $RxPower*0.002-30;

$ZTEopModuleRxPoweroid = '.1.3.6.1.4.1.3902.1012.3.50.12.1.1.10';

// Дистанция вроде как метры
$ZTEonuDistanceoid = '.1.3.6.1.4.1.3902.1012.3.11.4.1.2';



// Состояние Меди

$ZTEonuUniIfOperStatusoid    = '1.3.6.1.4.1.3902.1012.3.50.14.1.1.7';



//Список мак адресов
$ZTEifFdbReadByPortMacAddressoid ='.1.3.6.1.4.1.3902.1015.6.1.3.1.5.1';

 

Функция для поиска Oid для списка мак адресов за онушкой

function encode_gponOnuIndex($shelf="0", $slot="0", $port="0", $onu_num="0") {
	return( (1 << 30) + (($shelf -1 ) << 21 )+ (($slot - 1) << 20 )+ ( ($port - 1) << 16 )+ ( ($onu_num - 1 ) << 8 ));
}

 

Поделиться сообщением


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

27 минут назад, petro_drozd сказал:

Есть мибы.

Поделитесь. Спасибо. 

Поделиться сообщением


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

Поделитесь мибами, пожалуйста!

Поделиться сообщением


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

On 3/20/2019 at 7:46 PM, petro_drozd said:

Есть мибы.

Поделитесь мибамы регистрации

Поделиться сообщением


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

1 minute ago, ~AsmodeuS~ said:

Поделитесь мибамы регистрации

ничего путного пока не получилось. Там есть 

 

список незарегистрированных

 

snmpwalk -c xxxx -v2c -On 10.0.6.99 iso.3.6.1.4.1.3902.1012.3.13.3.1.2
.1.3.6.1.4.1.3902.1012.3.13.3.1.2.268503040.1 = Hex-STRING: 5A 54 45 47 C6 75 C0 B6
.1.3.6.1.4.1.3902.1012.3.13.3.1.2.268503040.2 = Hex-STRING: 54 44 54 43 E6 D1 60 E5
.1.3.6.1.4.1.3902.1012.3.13.3.1.2.268503040.3 = Hex-STRING: 45 4C 54 58 79 16 AE 8A

 

 

вписать незарегистрированную в новый слот

snmpset -c xxxx -v2c -On 10.0.6.99 .1.3.6.1.4.1.3902.1012.3.28.1.1.5.268503040.1 x 0x54445443E6D160E5
.1.3.6.1.4.1.3902.1012.3.28.1.1.5.268503040.1 = Hex-STRING: 54 44 54 43 E6 D1 60 E5

 

 

она становится зарегистрированной, но неизвестно как применить профили.

 

 

Поделиться сообщением


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

Пытаюсь опять сделать,  нашел более менее механизм регистрации, но получается через раз

 

/// включаем создание онушки   zxGponOntDevMgmtEntryStatus   ROWSTATUS INTEGER {active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), destroy(6) } 

                snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.9.".$port_index.".".$max_onu_reg, 'i' , 4);
//// переводим в режим  zxGponOntRegMode  This attribute indicates the onu registration mode. regModeSn:GPON/XGPON -- G.984 G.987 -- 8bytes
                snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.12.".$port_index.".".$max_onu_reg, 'i' , 1);

/// Задаем профиль  zxGponOntDevMgmtTypeName

                snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.1.".$port_index.".".$max_onu_reg, 's' , "ONU_1G");

/// Задаем серийный номер  zxGponOntDevMgmtTypeName
                snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.5.".$port_index.".".$max_onu_reg, 'x' , "0x".$sn);


 

Совершенно не получается создать профили  zxGponGemPortEntry,  zxGponOntBpInfoEntry

 

Изменено пользователем petro_drozd

Поделиться сообщением


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

А кто-нибудь еще копает мибы? Есть куча моментов, но мне кажется тут будет монолог.

Поделиться сообщением


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

Попрошу и себе МИБы, пробую тоже написать авторег

Поделиться сообщением


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.