Jump to content
Local
Kycherr

BDCOM ONU user mac oid snmp

Recommended Posts

Доброго часу дня.

Можливо хтось стикався з таким питанням.

Є потреба дивитися мак абонета по snmp.

Аналог в консолі : sh epon interface ePON 0/3:50 onu mac address-table 

Але не можу знайти потрібного oid.

Можливо хтось підкаже.? 

Дякую наперед.

Share this post


Link to post
Share on other sites

Kycherr

 

Вменяемо не заставил это заработать, поэтому снимаю телнет соединением из пхп

Edited by dan_aspire

Share this post


Link to post
Share on other sites

Kycherr

 

Вменяемо не заставил это заработать, поэтому снимаю телнет соединением из пхп

Скриптиком не поделитесь?

Share this post


Link to post
Share on other sites

Kycherr

 

Вменяемо не заставил это заработать, поэтому снимаю телнет соединением из пхп

 

И не сильно ли это грузит голову?

Share this post


Link to post
Share on other sites

Ромка

скрипт - часть самописной системы мониторинга и контроля, так что думаю недостающие переменные поймёте где взять. Если остальное интересно - в ЛС.

<?php
	$username = "$telnet_user";
	$password = "$telnet_pass";
    $con = pfsockopen($ip, 23, $errno, $errstr, 10);

    $login = $username."\r\n";
    fwrite($con, $login);
    $pass = $password."\r\n";
    fwrite($con, $pass);
    $command = "enable\r\n";
    sleep(1);
    fwrite($con, $command);
    sleep(1);
    fwrite($con,"\r\n");
    sleep(2);
    fwrite($con, "show mac a int $nameint \r\n");
    sleep(2);
$out = fread($con, 16536);
$out = end(explode(' -----', $out));
$arr_out = explode("\n", $out);
while (trim(array_pop($arr_out)) == "--More--") {
 fwrite($con, chr(32));
    sleep(2);
$arr_tmp = explode("\r\n", fread($con, 16536));
$arr_out = array_merge($arr_out,$arr_tmp);
}


fclose($con);
$count = 0;
echo "<table border=\"0\" cellspacing=\"5\">";
while ($count <= count($arr_out)) {
$out_mac = $arr_out[$count];

$out_mac = explode('DYN', $out_mac);
$out_mac = $out_mac[0];
$out_mac = ltrim($out_mac, "0..9");
$out_mac = trim($out_mac);
$out_mac = substr($out_mac, -14);
$us_mac = str_replace(".", "", "$out_mac");
$us_mac = str_replace("a", "A", "$us_mac");
$us_mac = str_replace("b", "B", "$us_mac");
$us_mac = str_replace("c", "C", "$us_mac");
$us_mac = str_replace("d", "D", "$us_mac");
$us_mac = str_replace("e", "E", "$us_mac");
$us_mac = str_replace("f", "F", "$us_mac");

echo "<tr><td><div style=\"display: table-cell; vertical-align: middle; \">";

$us_formatted_mac = preg_replace('~..(?!$)~', '\0:', $us_mac);

echo $us_formatted_mac;
echo "</div></td><td>   </td><td>";
if ($us_mac == NULL) {
}else if ($us_mac == str_replace(":", "", $mac)) {
echo "<font color=\"lightgreen\">THIS ONU</font>";
} else if ($use_userside == "yes") {
include 'get_us_mac_data.php';
echo $us_mac_out;
echo "</td><td> </td><td><div style=\"display: table-cell; vertical-align: middle; \">";

if ($us_mac_type == 1) {
echo "<a href=\"fix_onu.php?olt=$ip&mac=$mac&code=$us_usercode\">Закрепить</a>";
}
else {
}


} else {
}
echo "</td></tr>";
$count = $count + 1;
}
echo "</table>";
?>
Edited by dan_aspire

Share this post


Link to post
Share on other sites
_Maks_

нет, так же, как и обычная команда. По крайней мере в моём случае, у меня опрашивается только определенный интерфейс (в карточке ОНУ) запросом по ссылке.

Share this post


Link to post
Share on other sites

Зараз покищо так.. Відомі oid можу викласти... Але є ще роботи море..)

Все працює по snmp. Редагувати можна підпис ону, влан, та обмеження швидкості.

Камінням чур не кидати )

post-34239-0-22924400-1442220268_thumb.png

Edited by Kycherr

Share this post


Link to post
Share on other sites

Зараз покищо так.. Відомі oid можу викласти... Але є ще роботи море..)

Все працює по snmp. Редагувати можна підпис ону, влан, та обмеження швидкості.

Камінням чур не кидати )

Конечно выкладывай, лишним не будет.

Share this post


Link to post
Share on other sites
Name/OID: .1.3.6.1.2.1.155.1.4.1.5.1.2.12; Value (Integer): -213 - ділим на 10 щоб отримати норм значеня

Name/OID: .1.3.6.1.2.1.31.1.1.1.18.12; Value (OctetString): byndyuchna -- підпис ону

Name/OID: .1.3.6.1.4.1.3320.101.10.5.1.5 - RX POWER

Name/OID: .1.3.6.1.4.1.3320.101.10.5.1.6 - TX POWER

Name/OID: .1.3.6.1.4.1.3320.101.10.1.1.27.12; Value (Integer): 2257  - Відстань до ону

Name/OID: .1.3.6.1.4.1.3320.101.12.1.1.3.12.1 - Vlan onu

Edited by Kycherr

Share this post


Link to post
Share on other sites
<?php
$p = $_POST["port"];
$d = $_POST["des"];
require_once "PHPTelnet.php";
$telnet = new PHPTelnet();
$result = $telnet->Connect('ip','log','pas');
if ($result == 0) {
$telnet->DoCommand('ena', $result);
$telnet->DoCommand('fiber', $result);
$telnet->DoCommand('conf', $result);
$telnet->DoCommand("interface ePON 0/"."$p", $result);
$telnet->DoCommand("desc "."$d", $result);
$telnet->DoCommand('epon onu port 1 ctc vlan mode tag 120', $result);
$telnet->DoCommand('epon onu port 1 ctc loopback detect', $result);
$telnet->DoCommand('ex', $result);
$telnet->DoCommand('ex', $result);
$telnet->DoCommand('wr', $result);
echo "Все готово";
$telnet->Disconnect();
}
?> 
</body>

Така конструкція була.. Але довго відпрацьовує на великих головах. 

Потім така але тяжко до веба прикрутити...

#!/bin/bash
host=$1
(expect -c "
  	set timeout 20
  	spawn  telnet $ip
  	expect \"Username:\"
  	send \"log\r\"  
  	expect \"Password:\"
  	send \"pas\r\"
  	expect \"*>\"
  	send \"enable\r\"
  	expect \"password:\"
  	send \"fiber\r\"
  	expect \"Switch#\"
	send \"sh epon active-onu\r\"
	expect \"Switch#\"
 	send \"ex\r\"
	send \"ex\r\"
  interact
  exit
")

А зараз snmp. прикручується на ура і по продуктивності літає... Не грузить взагалі...

Share this post


Link to post
Share on other sites

Доброго часу дня.

Можливо хтось стикався з таким питанням.

Є потреба дивитися мак абонета по snmp.

Аналог в консолі : sh epon interface ePON 0/3:50 onu mac address-table 

Але не можу знайти потрібного oid.

Можливо хтось підкаже.? 

Дякую наперед.

 

по моему вменяемого oid что бы найти так и не нашел.

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

в формате .1.3.6.1.4.1.3320.152.1.1.3.<порт>.<влан>.<мак в десятичном представлении>

 

.1.3.6.1.4.1.3320.152.1.1.3.35.197.144.239.104.252.183.137 "90 EF 68 FC B7 DD "
.1.3.6.1.4.1.3320.152.1.1.3.36.1.252.250.247.43.132.103 "FC FA F7 2B DD67 "

Видно что на каждом порту по 2 мака - онушки и головы.

В принцыпе можно также все существующие вланы забрать .1.3.6.1.2.1.17.7.1.4.2.1.2.0

 

Но от этого не легче. Так как отрабатывает очень долго, ну секунд до 10-20 на одной голове.

 

Мак онушки же найти не проблема.

.1.3.6.1.4.1.3320.152.1.1.1.13.1.252.250.247.14.82.22 13

.1.3.6.1.4.1.3320.152.1.1.1.13.<влан, практически всегда 1>.<мак в десятичном представлении(например 252.250.247.14.82.22)> даст порт на котором светится мак онушки, напррмер 13

 

 

.1.3.6.1.4.1.3320.9.64.4.1.1.2.13 "EPON0/1:2"

 

 спрашиваем как называется интерфейс, в данном случае -  "EPON0/1:2"

 

Как вариант думаю разве что в цикле снимать все маки с таблицу например командой .1.3.6.1.4.1.3320.152.1.1.1.<ноимер порта>

а дальше уже в ней смотреть.

 

Если у когото более элегантное решение есть - поделитесь.

Share this post


Link to post
Share on other sites
<?php
$ifVendor = snmpwalk("$host120", "$com120", ".1.3.6.1.4.1.3320.101.10.1.1.1");
$ifDescr = snmpwalk("$host120", "$com120", 'IF-MIB::ifAlias');
$ifSignal = snmpwalk("$host120", "$com120", "enterprises.3320.101.10.5.1.5");
$ifOnuMac = snmpwalk("$host120", "$com120", "1.3.6.1.4.1.3320.101.10.1.1.3");

    $array = $ifVendor;
    for($i = 0, $c = count($array); $i < $c; $i++){
?>
				
                    <tr>
						<td class="text-center"><?php print str_replace("STRING:", "", $ifVendor[$i]);?></td>
						<td class="text-center"><?php print str_replace("STRING:", "", $ifDescr[$i]);?></td>
						<td class="text-center"><?php print trim (str_replace("INTEGER:", "", $ifSignal[$i])/10);?></td>
						<td class="text-center"><?php print str_replace("Hex-STRING:", "", $ifOnuMac[$i]);?></td>
                        <td class="text-center">
                            <div class="btn-group">
                                <button class="btn btn-xs btn-default" type="button" data-toggle="modal" data-target="#modal-popin" title="Переглянути інфо"><i class="fa fa-crosshairs"></i></button>
                                <button class="btn btn-xs btn-default" type="button" data-toggle="tooltip" title="Видалити"><i class="fa fa-times"></i></button>
                            </div>
                        </td>
                    </tr>
					<?php } ?>

Пока таким макаром... 

$sig = snmpget("$ip", $communit, "enterprises.3320.101.10.5.1.5.$key");

где $key будет индексом кто все ровняет.. Но реализовать не могу

Edited by Kycherr

Share this post


Link to post
Share on other sites

Зараз покищо так.. Відомі oid можу викласти... Але є ще роботи море..)

Все працює по snmp. Редагувати можна підпис ону, влан, та обмеження швидкості.

Камінням чур не кидати )

У нас так: автоопрос олтов по cron'у, получение маков, уровней сигнала, имён интерфейсов, сохранение всего этого в sql. Можно указать описание ONU или вместо него объект из БД USERSIDE. в карточке ONU управление вланами на портах, указание ону на карте, история сигналов по онушке, получение расстояния, фдб таблица по этой ону и возможность ребута онушки.

post-16884-0-20683300-1442256598_thumb.jpg

post-16884-0-49522500-1442256598_thumb.jpg

post-16884-0-73464000-1442256598_thumb.jpg

Edited by dan_aspire

Share this post


Link to post
Share on other sites

А что это у Вас за софт такой? Интересно :)

Share this post


Link to post
Share on other sites

А что это у Вас за софт такой? Интересно :)

Сами сооружали) разрослось со странички со списком онушек с уровнем сигналов, получаемых экспектом. Сейчас все по снмп, кроме фдб таблицы. Подробнее - стучитесь в личку.

Share this post


Link to post
Share on other sites

 

Зараз покищо так.. Відомі oid можу викласти... Але є ще роботи море..)

Все працює по snmp. Редагувати можна підпис ону, влан, та обмеження швидкості.

Камінням чур не кидати )

У нас так: автоопрос олтов по cron'у, получение маков, уровней сигнала, имён интерфейсов, сохранение всего этого в sql. Можно указать описание ONU или вместо него объект из БД USERSIDE. в карточке ONU управление вланами на портах, указание ону на карте, история сигналов по онушке, получение расстояния, фдб таблица по этой ону и возможность ребута онушки.

 

 

Гарно вийшло... В ЛС. Поділетесь сорцами? Щоб своє допиляти

Share this post


Link to post
Share on other sites

Зараз покищо так.. Відомі oid можу викласти... Але є ще роботи море..)

Все працює по snmp. Редагувати можна підпис ону, влан, та обмеження швидкості.

Камінням чур не кидати )

xчасом це не цей файлик? http://my-files.ru/3bghbs

Share this post


Link to post
Share on other sites

Да интересная программа получается, если можно и со мной поделитесь в личку. Пишу софт для себя. Но делаю все это через телнет (долго если на прямую, а не с бд)

Share this post


Link to post
Share on other sites

Ну и мне в личку если можно. Сейчас мониторится заббиксом, но не всегда удобно лезть в этот комбайн.

Share this post


Link to post
Share on other sites


<?php

$host = '10.0.0.1';
$community = 'public';

//Olt

$ponIfIndex = 'iso.3.6.1.4.1.3320.101.6.1.1.1';
$llidSequenceNo = 'iso.3.6.1.4.1.3320.101.6.1.1.2';


$ifDescr = 'iso.3.6.1.2.1.2.2.1.2';

///Onu
$onuIndexoid = 'iso.3.6.1.4.1.3320.101.10.5.1.1';
$onuIDoid = 'iso.3.6.1.4.1.3320.101.10.1.1.3';
$onuActivePonDiidoid = 'iso.3.6.1.4.1.3320.101.10.1.1.64';

///Onu
$onuStatusoid = 'iso.3.6.1.4.1.3320.101.10.1.1.26';
$onuDistanceoid = 'iso.3.6.1.4.1.3320.101.10.1.1.27';
$onuVendorIDoid = 'iso.3.6.1.4.1.3320.101.10.1.1.1';
$opModuleTempoid = 'iso.3.6.1.4.1.3320.101.10.5.1.2';
$opModuleRxPoweroid = 'iso.3.6.1.4.1.3320.101.10.5.1.5';
$opModuleTxPoweroid = 'iso.3.6.1.4.1.3320.101.10.5.1.6';

///FDB
$ifFdbReadByPortMacAddressoid = 'iso.3.6.1.4.1.3320.152.1.1.3';



// $a_onu_id = snmprealwalk($host, $community, $onuIndexoid);
$a_onu_id = snmprealwalk($host, $community, $onuActivePonDiidoid);

var_dump($a_onu_id);
foreach ($a_onu_id as $onuIndex_oid=>$onu_port_id) {
// sleep(10);
$onu_port_id = str_replace("INTEGER: ","",$onu_port_id);

// $onuIndex= str_replace($onuIndexoid.".", "", $onuIndex_oid);
$onuIndex = str_replace($onuActivePonDiidoid.".","",$onuIndex_oid);
// if($onuIndex==27) continue;
// if($onuIndex==32) continue;
$item['host'] = $host;
$item['onuIndex'] = str_replace(" ", "", str_replace("STRING: ","", snmpget($host, $community, $ifDescr.".".$onuIndex)));
$item['onuPortIndex'] = $onu_port_id-7;
$item['onuID'] = str_replace(" ", "", str_replace("Hex-STRING: ","", snmpget($host, $community, $onuIDoid.".".$onuIndex)));
$temp = 0;
$temp= str_replace("INTEGER: ","", snmpget($host, $community, $opModuleTempoid.".".$onuIndex));
if(!$temp){
echo "sleep 30";
// sleep(30);
}
$item['opModuleTemp'] = $temp / 256;
$rxPower= str_replace("INTEGER: ","", snmpget($host, $community, $opModuleRxPoweroid.".".$onuIndex));
$txPower= str_replace("INTEGER: ","", snmpget($host, $community, $opModuleTxPoweroid.".".$onuIndex));
$item['opModuleRxPower'] = 0;
$item['opModuleRxPower'] = $rxPower /10;
$item['opModuleTxPower'] = 0;
$item['opModuleTxPower'] = $txPower /10;
$item['onuVendorID'] = '';
$item['onuVendorID'] = str_replace('"', '', str_replace("STRING: ","", snmpget($host, $community, $onuVendorIDoid.".".$onuIndex)));

$item['onuDistance'] = 0;
$item['onuDistance'] = str_replace("INTEGER: ","", snmpget($host, $community, $onuDistanceoid.".".$onuIndex));
$item['onuStatus'] = 0;
$item['onuStatus'] = str_replace("INTEGER: ","", snmpget($host, $community, $onuStatusoid.".".$onuIndex));


$a_ifFdbReadByPortMacAddress= snmpwalk($host, $community, $ifFdbReadByPortMacAddressoid.".".$onuIndex);

echo "oid-> ".$ifFdbReadByPortMacAddressoid.".".$onuIndex."\n";

$MacAddress_val = "";
$address = "";
foreach ($a_ifFdbReadByPortMacAddress as $MacAddress_oid=>$MacAddress_val){
$address= str_replace(" ", "",str_replace("Hex-STRING: ","", $MacAddress_val));
echo "mac: ".$address."\n";
if ($address<>$item['onuID'] and $address<>"") $item['ifFdbReadByPortMacAddress'] = $address;
}

$query="SELECT name FROM users LEFT JOIN ipaddr ON users.id = ipaddr.user_id where mac='$address'";
$result=mysql_query($query,$res);
$name = mysql_result($result,0);

// var_dump($item);

$query = "select id from hardware_pon_onu where onu_mac='$item[onuID]'";
echo $query."\n";
$id = 0;
$result=mysql_query($query,$res);
echo "res ".$result."\n";
if(mysql_num_rows($result)){
$id = mysql_result($result,0);
echo "id ".$id."\n";
$query = "UPDATE hardware_pon_onu set onu_owner='$name', onu_fdb_mac='$item[ifFdbReadByPortMacAddress]', onu_port_name='$item[onuIndex]', onu_vendor='$item[onuVendorID]', onu_status=$item[onuStatus], olt_host='$item[host]', port_id=$item[onuPortIndex], onu_distance=$item[onuDistance], onu_rxpower=$item[opModuleRxPower], onu_temp=$item[opModuleTemp] where onu_mac='$item[onuID]'";
echo $query."\n";
$result=mysql_query($query,$res);
}
else{
$query = "INSERT INTO hardware_pon_onu set onu_owner='$name', onu_fdb_mac='$item[ifFdbReadByPortMacAddress]', onu_port_name='$item[onuIndex]', onu_vendor='$item[onuVendorID]', onu_status=$item[onuStatus], olt_host='$item[host]', port_id=$item[onuPortIndex], onu_distance=$item[onuDistance], onu_rxpower=$item[opModuleRxPower], onu_temp=$item[opModuleTemp], onu_mac='$item[onuID]'";
echo $query."\n";
$result=mysql_query($query,$res);
}

// }
}
?>

 

Share this post


Link to post
Share on other sites

Ну как бы можно и самому написать запрос насоздание таблички))

Share this post


Link to post
Share on other sites

--
-- Table structure for table `hardware_pon_onu`
--

DROP TABLE IF EXISTS `hardware_pon_onu`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `hardware_pon_onu` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`onu_mac` varchar(18) DEFAULT NULL,
`onu_status` smallint(5) unsigned DEFAULT '0',
`onu_distance` mediumint(5) unsigned DEFAULT '0',
`onu_vendor` varchar(4) DEFAULT NULL,
`onu_temp` mediumint(5) unsigned DEFAULT '0',
`onu_rxpower` mediumint(5) DEFAULT '0',
`onu_fdb_mac` varchar(18) DEFAULT NULL,
`olt_host` varchar(18) DEFAULT NULL,
`olt_id` mediumint(5) unsigned DEFAULT NULL,
`port_id` mediumint(5) unsigned DEFAULT NULL,
`onu_port_name` varchar(12) DEFAULT NULL,
`onu_owner` varchar(18) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=442 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
Edited by Пэтро

Share this post


Link to post
Share on other sites
		<?php
		$roww = htmlspecialchars($_GET["row"]);
		$index = $roww;
		$session = new SNMP(SNMP::VERSION_2C, 'ip', 'public', 10000000);
        $session->oid_increasing_check = false;
        $session->valueretrieval = SNMP_VALUE_PLAIN;
        $data = $session->walk('iso.3.6.1.4.1.3320.152.1.1.3.' . $index);
		$dd = array();
        $matches = array();
        foreach ($data as $key => $value) {
            preg_match('/^\w+-\w+::\w+.(\d+.){6}(\d+)/', $key, $matches);
            $m = array();
            for ($i = 0; $i < strlen($value); $i++) {
                $m[] = bin2hex($value[$i]);
            }
            $mac = implode(":", $m);

            $dd[] = array('Влан ' => $matches[2], ' Мак' => $mac);
		    }

			
			function array2table($array, $recursive = false, $null = ' ')
{
    // Sanity check
    if (empty($array) || !is_array($array)) {
        return false;
    }

    if (!isset($array[0]) || !is_array($array[0])) {
        $array = array($array);
    }

    // Поч. Таблиці
    $table = "<table table-bordered table-striped table-header-bg>\n";

    // Хідер
    $table .= "</tr>\n";
	 $table .= "\t<tr>";
    // Take the keys from the first row as the headings
    foreach (array_keys($array[0]) as $heading) {
        $table .= '<th> ' . $heading . ' </th>';
    }
    // Основа
    foreach ($array as $row) {
        $table .= "\t<tr>" ;
        foreach ($row as $cell) {
            $table .= '<td>';

            // Перебір об.
            if (is_object($cell)) { $cell = (array) $cell; }
            
            if ($recursive === true && is_array($cell) && !empty($cell)) {
                // Рекурс
                $table .= "\n" . array2table($cell, true, true) . "\n";
            } else {
                $table .= (strlen($cell) > 0) ?
                    htmlspecialchars((string) $cell) :
                    $null;
            }

            $table .= '</td>';
        }

        $table .= "</tr>\n";
    }

    $table .= '</table>';
    return $table;
}
			echo array2table($dd);
		

Для перегляду маків за ОНУ. Можливо комусь пригодиться

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Saymon609
      Продам ONU BDCOM P1501DT в наявності  2шт! ціна 300 грн за шт.
    • By Kto To
      Здравствуйте уважаемые.
       
      Сегодня так сказать уже "накипело"
      Есть скриптик который для системы мониторинга снимает данные об активности ону и уровне сигнала двумя запросами по снмп.
      ifOperStatus.IDX
      .1.3.6.1.2.1.155.1.4.1.5.1.2.IDX
       
      где IDX это снмп индекс ОНУ.
       
      Но иногда, по непонятным причинам долбаный ОЛТ сходит с ума и перестает вообще отвечать на snmp запросы.
      Прошивка олта - последняя вроде которая есть под эти модели
      BDCOM(tm) P3310B Software, Version 10.1.0B Build 44597 Может кто "поборол" данный глюк?
       
       
    • By SK-Tech
      Вітаємо!
       
      Продаються GPON ONU Phicomm PHIC601G
       
      100% сумісність з OLT ZTE, Huawei, Alcatel-Lucent, G-COM, BDCOM та інші, підтримує усі типи конфігурацій сертифікована в Китаї оператором Chna Telecom, що свідчить про відповідну якість і дотримання усіх нрм при зборці, на відміну від V-Solution, HDV, TK- Link та іншого ноу-нейму сумнівної якості і походження дуже швидко завантажується (8 секунд) і реєструється ( 15-20 секунд) SFP C+ порт 1 ethernet порт европейський блок живлення в комплекті рік гарантії.  
      ціна 13$ з ПДВ.
      Взірці для тесту відправимо без передоплати.
       

    • By Andrey_sk
      Сервисный центр DeepNet (г.Киев). Проводит акцию на ремонт активного оборудования (любой сложности) без ограничения по производителям. Тарифы снижены на летний период. Диагностика абсолютно бесплатно.
      Моб. тел - 095-578-55-85
×