понедельник, 20 апреля 2026 г.

Шпаргалка по аббревиатурам встречающимся в VoIP

 


Аббревиатура    Английское Обозначение                        Перевод/Описание
ABR       Answer Bid Ratio                            Коэффициент занятости абонентов
ASD       Answer Signal Delay                            Задержка сигнала ответа
ASR       Answer Seizure Ratio                        Процентное отноешение ответченых вызовов к общему числу попыток вызова
CAPS     Call Attempts Per Second                    Попыток вызова в секунду
CDR       Call Detail Record                            Подробная запись о вызове
CPS        Calls Per Second                            Вызовов в секунду
CRD       Call Release Delay                            Задержка завершения вызова
CSD       Call Setup Delay                            Задержка установки вызова
IRA        Ineffective Registration Attemp                Неэффективная попытка регистрации
ISA        Ineffective Session Attempts                Неэффективные попытки сеанса
NER      Network Effectiveness Ratio                    Коэффициент эффективности сети
PDD      Post-Dialing Delay                            Задержка после набора номера
PSTN    Public Switched Telephone Network            Телефонная сеть общего пользования, ТСОП, ТфОП
RPS       Registers Per Second                        Регистраций в секунду
RRD      Registration Request Delay                    Задержка запроса на регистрацию
RTCP    Real-Time Transport Control Protocol    Протокол управления передачей в реальном времени
RTP       Real-time Transport Protocol                Транспортный протокол реального времени
SCR       Session Completion Ratio                    Коэффициент завершения сеансов
SDD       Session Disconnect Delay                    Задержка отключения сеанса
SEER     Session Establishment Effectiveness Ratio    Коэффициент эффективности установления сеанса
SER       Session Establishment Ratio                    Коэффициент установления сеансов
SIP         Session Initiation Protocol                    Протокол инициации сеанса
SRD       Session Request Delay                        Задержка запроса сеанса
VoIP       Voice over IP                                IP-телефония







пятница, 17 апреля 2026 г.

Псевдопеременные в Kamailio

 


 

 http://www.kamailio.org/wiki/cookbooks/5.0.x/pseudovariables#tu_-_to_uri

Псевдопеременные могут использоваться со многими модулями, среди них:
Предопределенные псевдопеременные перечислены в алфавитном порядке.

$$ - маркер псевдопеременной
$$ - представляет символ '$'

$_s(format) — Оценить динамический формат
$_s(format) - возвращает строку после оценки всех псевдопеременных в формате

    $var(x) = "sip:" + $rU + "@" + $fd;

    # эквивалентно:

    $var(x) = $_s(sip:$rU@$fd);
$ai — заголовок URI inP-Asserted-Identity
$ai — ссылка на URI в заголовке запроса P-Asserted-Identity (см. RFC 3325)

$adu — URI дайджеста аутентификации
$adu — URI из заголовка Authorization или Proxy-Authorization. Этот URI используется при расчете ответа HTTP Digest.

$aa - Алгоритм аутентификации
$aa - алгоритм из заголовка Authorization или Proxy-Authorization.

$ar - область аутентификации
$ar - область из заголовка Authorization или Proxy-Authorization

$au - Имя пользователя авторизации
$au - пользовательская часть имени пользователя из заголовка Authorization или Proxy-Authorization

$ad — домен авторизации пользователя
$ad - доменная часть имени пользователя из заголовка Authorization или Proxy-Authorization

$aU - Аутентификация всего имени пользователя
$aU - полное имя пользователя из заголовка Authorization или Proxy-Authorization

$Au - Имя пользователя Acc и область/домен
$Au - имя пользователя для учета. Это выборочная псевдопеременная (унаследованная от модуля acc). Он возвращает имя пользователя и область авторизации ($au@$ar), если они существуют, или From URI ($fu) в противном случае.

$branch(имя) - Атрибуты ветки
$branch(name) - ссылка на атрибут 'имя' ветки

Эта псевдопеременная дает вам доступ только к «дополнительным веткам», а не к «основной ветке». Например, если для одного и того же AoR зарегистрировано 3 клиента, после lookup() у вас будет один контакт в «основной ветке» и две «дополнительные ветки». С помощью $branch() вы можете получить доступ к дополнительным веткам, к основной ветке можно получить доступ с помощью $ru и $du. (Примечание: в branch_route нет различия между основной и дополнительной ветвями — branch_route будет вызываться один раз для каждой из них.)

«Имя» может быть:

uri - вернуть uri ветки
dst_uri — вернуть uri назначения (адрес следующего прыжка)
path - вернуть вектор пути для ветки
q - вернуть значение q ветки
send_socket - возвращает сокет, который будет использоваться для отправки ветки
count - вернуть количество ветвей
flags - возвращает значение флагов ветки
ruid - вернуть ruid ветки (Записать внутренний уникальный ID из usrloc)
PV может использовать индекс для доступа к указанной ветке: $(branch(name)[index])

Пример:

$вар ( я ) = 0 ; 
в то время как ( $var ( i ) < $branch ( count ) ) 

   xlog ( "$(branch(uri)[$var(i)]) \n " ) ; 
   $var ( i )  = $var ( i )  +  1 ; 
}
Начиная с версии 3.1.0, вы можете присваивать значение каждому атрибуту. Индекс можно использовать для обновления конкретной ветки:

$ ( филиал ( атрибут ) [ индекс ] )  = значение ;
Если индекс отсутствует, используется первая ветвь. Если индекс равен -1, используется последняя ветвь.

Присвоение $null атрибуту uri приведет к удалению ветки, для остальных атрибутов просто будет установлено значение null.

$ ( ветка ( uri ) [ 2 ] )  =  "sip:test@kamailio.org;transport=sctp" ;
$br - первая ветвь запроса
$br - ссылка на первую ветку запроса

Это переменная R/W, вы можете присвоить ей значения прямо в конфигурационном файле (добавит новую ветку).

$bR - все ветки запроса
$bR - ссылка на все ветки запроса

$bf - флаги ветки
$bf - ссылка на флаги ветки 0 ветки (RURI) - десятичный вывод

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$bF - Флаги ветвления
$bF - ссылка на флаги ветки 0 ветки (RURI) - вывод в шестнадцатеричном формате

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$bs - размер тела
$bs - размер тела

$ci - Идентификатор вызова
$ci - ссылка на тело заголовка call-id

$cl — длина содержимого
$cl — ссылка на тело заголовка content-length

$cnt(pv) - Подсчитать количество pvs
$cnt(avp) - вернуть количество avp

xlog ( "$$avp(x) fount $cnt($avp(x)) раз \n " ) ;
$conid — идентификатор TCP-соединения
$conid — идентификатор TCP-соединения, по которому поступило текущее сообщение, для TCP, TLS, WS и WSS. Установите значение $null для SCTP и UDP.

$cs-CSeq
$cs — ссылка на порядковый номер в заголовке cseq. Метод в заголовке CSeq идентичен методу запроса, поэтому используйте $rm для получения метода (работает также для ответов).

$ct - Заголовок контакта
$ct - ссылка на тело заголовка контакта

$cT — тип контента
$cT - ссылка на тело заголовка content-type

$dd - URI домена назначения
$dd - ссылка на домен назначения uri (без порта)

$di - URI заголовка перенаправления
$di — ссылка на URI заголовка Diversion

$dip - Параметр "конфиденциальность" перенаправления
$dip - ссылка на значение параметра «конфиденциальность» заголовка Diversion

$dir - Параметр "причина" отклонения
$dir — ссылка на значение параметра «причина» заголовка Diversion

$dic - параметр "счетчик" переадресации
$dic - ссылка на значение параметра «счетчик» заголовка Diversion

$dp - URI порта назначения
$dp - ссылка на порт назначения uri

$dP - Транспортный протокол URI назначения
$dP - ссылка на транспортный протокол получателя uri

$ds - Целевой набор
$ds - ссылка на целевой набор

$du — URI назначения
$du - ссылка на uri назначения

Если функцияlouse_route() возвращает TRUE, uri назначения устанавливается в соответствии с первым заголовком Route. $du также устанавливается, если функция lookup() модуля 'registrar' находит контакт(ы) за NAT. Вы можете установить $du на любой SIP URI .

sip: kamailio.org
 sip: pbx123.kamailio.org; транспорт = udp
 глоток: [2001: DB8:: 33: 2]: 5980; транспорт = TLS
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

Чтобы сбросить $du:

$ду = $нуль;
$fd — из домена URI
$fd - ссылка на домен в URI заголовка From

$fn - От отображаемого имени
$fn - ссылка на отображаемое имя заголовка From

$fs - Принудительный сокет
$fs - ссылка на принудительный сокет для отправки сообщений (если есть) в виде proto:ip:port

Это переменная R/W (ей можно присвоить значения прямо в конфигурационном файле). Транспортный прототип можно не указывать при присвоении значения, и в этом случае он берется из URI назначения сообщения.

$ft - Из тега
$ft - ссылка на параметр тега заголовка From

$fti - Начальный тег From
$fti — ссылка на параметр тега заголовка «От», как это было в исходном запросе (например, первоначальном ПРИГЛАШЕНИИ).

Значение тега From в начальном запросе может быть в теге To, если запрос в рамках диалога отправляется вызываемой стороной. Эта переменная определяет, кто отправил запрос в диалоговом окне, и возвращает правильное значение, которое было в теге From запроса, инициирующего диалог.

Он экспортируется модулем rr и должен использоваться после `loose_route()`. Параметр append_fromtag должен быть установлен в 1, чтобы эта переменная возвращала правильное значение.

$fu — из URI
$fu - ссылка на URI заголовка From

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

Обратите внимание, что изменение заголовка From: может нарушить обратную совместимость с устройствами SIP 1.0.

$fU - из имени пользователя URI
$fU - ссылка на имя пользователя в URI заголовка 'From'

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

Обратите внимание, что изменение заголовка From: может нарушить обратную совместимость с устройствами SIP 1.0.

$mb - буфер сообщений SIP
$mb - ссылка на буфер сообщений SIP

$mf - Флаги
$mf - ссылка на флаги сообщения/транзакции, установленные для текущего SIP-запроса

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$mF - Флаги в шестнадцатеричном формате
$mF - ссылка на флаги сообщения/транзакции, установленные для текущего SIP-запроса в шестнадцатеричном формате.

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$mi - идентификатор SIP-сообщения
$mi - ссылка на идентификатор SIP-сообщения

$ml - длина SIP-сообщения
$ml - ссылка на длину SIP-сообщения

$mt - Тип сообщения SIP
$mt — возвращает 1, если sip-сообщение является запросом, возвращает 2, если sip-сообщение является ответом.

$od — исходный R-URI домена
$od — ссылка на домен в исходном R- URI запроса.

$op - Порт в оригинальном R-URI
$op - ссылка на порт оригинального R- URI

$oP - Протокол оригинального R-URI
$oP - ссылка на транспортный протокол оригинального R- URI

$ou — оригинальный R-URI
$ou - ссылка на исходный URI запроса

$oU — имя пользователя в оригинальном R-URI
$oU — ссылка на имя пользователя в исходном URI запроса.

$pd — Домен в URI заголовка P-Preferred-Identity
$pd — ссылка на домен в URI заголовка P-Preferred-Identity запроса ( см. RFC 3325)

$pn — отображаемое имя в заголовке P-Preferred-Identity
$pn — ссылка на Display Name в заголовке P-Preferred-Identity запроса (см. RFC 3325)

$pp - идентификатор процесса
$pp - ссылка на идентификатор процесса (pid)

$pr - Протокол полученного сообщения
$pr или $proto - протокол полученного сообщения (udp, tcp, tls, sctp, ws, wss)

$pU — пользователь в URI заголовка P-Preferred-Identity
$pU — ссылка на пользователя в URI заголовка P-Preferred-Identity запроса (см. RFC 3325)

$pu — URI в заголовке P-Preferred-Identity
$pu — ссылка на URI в заголовке P-Preferred-Identity запроса (см. RFC 3325)

$rb - Тело запроса/ответа
$rb - ссылка на тело сообщения

$rc - Возвращаемый код
$rc - ссылка на возвращаемый код последней вызванной функцией

$реткод - то же, что и $rc

$rd - Домен в R-URI
$rd — ссылка на домен в URI запроса (без порта) или на специальную строку пространства имен URN (см. RFC 2141)

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$rdir(key) - Запрос направления
$rdir(key) - получить направление запроса в диалоге.

Направление «вниз», если отправлено вызывающим абонентом, и «вверх», если отправлено вызываемым абонентом.

Ключ может быть:

id - возвращаемое значение является целым числом: 1 - для направления вниз по течению, 2 - для направления вверх по течению
имя — возвращаемое значение представляет собой строку: «вниз по течению» или «вверх по течению»
Пример:

if ( $rdir ( name ) == "upstream" )  { 
  xlog ( "запрос был отправлен вызываемым пользователем \n " ) ; 
}
Переменная экспортируется модулем rr , и параметр append_fromtag должен быть включен. Переменная должна использоваться после функции loss_route().

$re — URI заголовка Remote-Party-ID
$re — ссылка на URI заголовка Remote-Party-ID

$rm - метод SIP
$rm - ссылка на метод запроса. Работает также для ответов (используя заголовок CSeq)

$rmid - ID метода SIP
$rmid - возвращает внутреннее целочисленное представление типа метода SIP.

$route_uri — URI в заголовке первого маршрута
$route_uri — возвращает строку с полем URI в первом заголовке Route

$rp - Порт в R-URI
$rp - ссылка на порт R- URI

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$rP - Протокол R-URI
$rP - ссылка на транспортный протокол R- URI

$rr - фраза причины ответа SIP
$rr - ссылка на фразу-причину ответа (текст после кода ответа)

$rs - код ответа SIP
$rs - ссылка на статус ответа (код статуса, код ответа, код ответа)

$rt — URI ссылки
$rt - ссылка на URI заголовка refer-to

$ru - URI запроса
$ru - ссылка на URI запроса (адрес в первой строке SIP запроса)

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$rU - Имя пользователя в R-URI
$rU — ссылка на имя пользователя в URI запроса или на идентификатор пространства имен URN (см. RFC 2141)

Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)

$ruid - Запись внутреннего уникального идентификатора
$ruid — внутренний уникальный идентификатор записи для записи о местоположении, выбранный вызовом registrar:lookup().

$rz - Схема URI R-URI
$rz - возвращает схему R- URI , возможные значения: sip, sips, tel, tels и urn, ошибка парсинга схемы R- URI должна быть отражена значением: none

$Ri - полученный IP-адрес
$Ri - ссылка на IP-адрес интерфейса, на который был получен запрос

$Rp - Полученный порт
$Rp - ссылка на порт, где было получено сообщение

$sbranch(attr) — Статическая ветка
$sbranch(attr) - класс переменных, позволяющий управлять значениями атрибутов для статической ветки. Статическая ветвь — это внутренняя структура, которая используется функциями sbranch_push_ruri() и sbranch_append() из модуля pv , обеспечивая большую гибкость при обновлении атрибутов ветви R- URI (первой), а также дополнительных ветвей (например, для параллельного разветвления).

Attr может быть любым из поддерживаемых значений для класса переменных $branch(attr) — подробности см. выше.

Пример использования:

sbranch_reset ( ) ; 
$sbranch ( uri )  =  "sip:127.0.0.1:5080" ; 
$sbranch ( dst_uri )  =   "sip:127.0.0.1:5090" ; 
$sbranch ( путь )  =   "sip:127.0.0.1:5090, sip:127.0.0.1:5094" ; 
$sbranch ( send_socket )  =   "udp:127.0.0.1:5060" ; 
sbranch_set_ruri ( ) ;
$sf - флаги скрипта
$sf - ссылка на флаги скрипта - десятичный вывод

$sF - флаги скрипта
$sF — ссылка на флаги скрипта — вывод в шестнадцатеричном формате

$si - исходный IP-адрес
$si - ссылка на IP-адрес источника сообщения

$sp - Исходный порт
$sp - ссылка на исходный порт сообщения

$stat(имя) - Статистика
$stat(name) - возвращает значение элемента статистики, указанного в 'name'

$su - Исходный адрес как URI
$su — возвращает представление исходного адреса (ip, порт, proto) в виде SIP URI . Если протокол UDP, то он не добавляется (будучи транспортным протоколом по умолчанию).

Его значение выглядит так:

"sip:ip:port" -- если протокол UDP
"sip:ip:port;transport=proto" -- если протокол не UDP
Обратите внимание, что WS и WSS представлены как transport=ws, что соответствует RFC IETF для SIP через WebSocket.

$sut — исходный адрес как полный URI
$sut — возвращает представление исходного адреса (ip, порт, proto) в виде полного SIP URI . Прото UDP также добавляется в качестве транспортного параметра.

Его значение выглядит так:

"sip:ip:port;transport=proto"
$td — в домен URI
$td — ссылка на домен в URI заголовка «Кому»

$tn - для отображения имени
$tn — ссылка на отображаемое имя заголовка «Кому»

$tt - пометить
$tt - ссылка на параметр тега заголовка 'To'

$tti - Начальный тег To
$tti — ссылка на параметр тега заголовка «Кому», как он был в ответе SIP на первоначальный запрос (например, 200ok на начальный INVITE).

Значение тега To в исходной транзакции может быть в теге From, если запрос в рамках диалога отправляется вызываемой стороной. Эта переменная определяет, кто отправил запрос в диалоговом окне, и возвращает правильное значение, которое было в теге To транзакции, инициирующей диалог.

Он экспортируется модулем rr и должен использоваться после `loose_route()`. Параметр append_fromtag должен быть установлен в 1, чтобы эта переменная возвращала правильное значение.

$tu — в URI
$tu — ссылка на URI заголовка «Кому»

$tU - на имя пользователя URI
$tU - ссылка на имя пользователя в URI заголовка 'To'

$Tb - метка времени запуска
$Tb - ссылка на временную метку unix времени запуска kamailio (время загрузки)

$Tf - время в формате строки - кэшировано
$Tf - форматированное время ссылочной строки

Примечание: системное время извлекается только один раз для каждого обработанного SIP-сообщения. Последующие вызовы $Tf для одного и того же SIP-сообщения вернут то же значение.

$TF - время в формате строки - текущее
$TF - форматированное время ссылочной строки

Примечание: системное время вычисляется для каждого вызова $TF. Последующие вызовы $TF для одного и того же SIP-сообщения могут возвращать разные значения.

$Ts — отметка времени Unix — кэшируется
$Ts - ссылка на отметку времени unix

Примечание: системное время извлекается только один раз для каждого обработанного SIP-сообщения. Последующие вызовы $Ts для одного и того же SIP-сообщения вернут то же значение.

$TS — метка времени Unix — текущая
$TS - ссылка на метку времени unix

Примечание: системное время вычисляется для каждого вызова $TS. Последующие вызовы $TS для одного и того же SIP-сообщения могут возвращать разные значения.

$ua - заголовок пользовательского агента
$ua - ссылка на поле заголовка пользовательского агента

$avp(id) - AVP
$avp(id) - значение AVP, идентифицированное 'id'.

$(avp(id)[N]) - представляет значение N-го AVP, идентифицированного 'id'.

 

 

 

четверг, 16 апреля 2026 г.

Памятка по RFC протокола Диаметра

 


Памятка по RFC проткола Диаметра

DIAMETER — сеансовый протокол, созданный, отчасти, для преодоления некоторых ограничений протокола RADIUS. 
Обеспечивает взаимодействие между клиентами в целях аутентификации, авторизации и учёта 
различных сервисов (AAA, англ. authentication, authorization, accounting). 
Является основным протоколом архитектуры IMS.

    Diameter Base Protocol
    RFC 3589 - Diameter Command Codes for Third Generation Partnership Project (3GPP) Release 5
    RFC 4004 - Diameter Mobile IPv4 Application
    RFC 4005 - Diameter Network Access Server Application
    RFC 4006 - Diameter Credit-control Application
    RFC 4072 - Diameter Extensible Authentication Protocol (EAP) Application
    
Архитектура. 
Diameter основан на peer-to-peer (P2P)-модели, 
где каждый узел может выступать как в роли клиента, так и в роли сервер

Транспортные протоколы. 
В отличие от RADIUS, который использует UDP, 
Diameter передаёт данные через TCP или SCTP, 
обеспечивая надёжную доставку и минимизируя потери данных

Структура сообщения. 
Пакет Diameter состоит из заголовка и переменного количества пар «атрибут — значение» 
(AVP — Attribute-Value-Pairs). AVP инкапсулируют протокольно-специфичные данные, 
а также информацию об аутентификации, авторизации или учёте.

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

Безопасность. 
Хотя Diameter не включает шифрование в базовом виде, 
его можно защитить с помощью системы безопасности транспортного уровня (IPSec или TLS)

Diameter используется в различных сетевых функциях, например:

    Policy and Charging Rules Function (PCRF);
    Home Subscriber Server (HSS);
    Online Charging System (OCS).

среда, 15 апреля 2026 г.

Asterisk AMI скрипт по мониторингу для ZABBIX

 




      В принципе путь автоматизации  - это естественность развития человечества
Она везде и всюду окружает нас с самых первых шагов
     С одной стороны тяжело, а с другой - это как раз и работа мозга, когда придумываешь сам и пытаешься решить новое на основе уже знающего о мире

#!/usr/bin/php -q
<?php
set_time_limit(100);
ob_implicit_flush(false);           // Turn off output buffering
error_reporting(E_ALL ^ E_NOTICE);
date_default_timezone_set("Europe/Moscow");
include_once('phpagi-asmanager.php');

define('USER', 'zabbix');
define('PASSWD', 'Pass123');

/*
In file  /etc/asterisk/manager.conf

[zabbix]
secret=Pass123
deny=0.0.0.0/0.0.0.0
permit=127.0.0.0/255.255.255.0
allowmultiplelogin=yes
;displayconnects=yes
read = all,system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
write = all,system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
writetimeout=5000
*/



function dump_events($event_code, $data, $server, $port) {

    switch($event_code){
        case 'successfulauth':
          // Ignore
          break;
        case 'devicestatechange':
          // Ignore
          break;
        case 'challengesent':

          // Ignore
          break;

        default:
          on_display($event_code, $data);
    }
}

function on_display($event_code, $data) {
    $time_now = date('H:i:s');
    print($time_now." Received event:\n".$event_code."\nData:\n");
    print_r($data);
    print("\n");
    return 0;
}


//------------------------------------------------------------------------------

$asm=new AGI_AsteriskManager();
if($asm->connect('127.0.0.1:5038', USER, PASSWD)) {
    $Ar_Req=$asm->send_request('Events',
        array('Eventmask'=>'ON')                  // All Events on
        );
    var_dump($Ar_Req);

    $asm->add_event_handler('*', 'dump_events');  // Event handler
    $asm->wait_response();                        // Wait Events
    $asm->disconnect();
}
else{
    print("Manager not connected\n");
}
exit;

вторник, 14 апреля 2026 г.

magnet-ссылка: что это и зачем?

 


 Magnet-ссылка (magnet: URI) — это гиперссылка, которая идентифицирует файл не по его расположению или имени, 
а по содержанию — по хеш-коду содержимого файла

xt (eXact Topic) — URN, содержащий хеш файла. 
Например, в сетях BitTorrent xt=urn:btih:<info-hash>, 
где <info-hash> — хэш метаданных торрента

dn (Display Name) — имя файла

xl (eXact Length) — размер файла в байтах

tr (TRacker) — URL трекера для клиентов BitTorrent

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

В отличии от torrent файлов, magnet является ссылкой которая указывает на содержимое файла (хеш)
Она и не содержит информацию ни о вас или трекере, в ней нет записей о месте где он был скачан/создан

Работает по принципу DHT
DHT (англ. distributed hash table — «распределённая хеш-таблица») — это класс децентрализованных распределённых систем поисковой службы, 
работающей подобно хеш-таблице. Как структура данных, хеш-таблица может представлять собой ассоциативный массив, 
содержащий пары (ключ-значение).

О ней расскажу в другой раз

Добавить в Firefox очень просто 
После нажатия на магнет ссылку появится окно с предложением выбрать программу для открытия данной ссылки. 
Выбираете просто свой торрент клиент

Это решение появилось на заре попыток блокировок торрентов в европе, да-да, не только РКН это любит
В Америке и Европе пытались и пытаются бороться с распространением контента

А по итогу очень интересный инструмент, который был популярен и в локальных сетях

Всем благ

 

 

 

 

 

 

 

 

 

 

 

 

понедельник, 13 апреля 2026 г.

История связи: мня опредили и мотивировали одновременно

 




     За свою рабочую карьеру, а это пости 20 лет уже, я переучивался раза 3-4,
хотя специализацию не менял
    Первый раз, это прям со студенческой скамьи, все чему учили устароло и
пошел в цифровую и IP-связь, уже шел астериск, передача данных, все в скайпе и тд - это был 2007
В который никто и никогда не вернется :)
    А вот прям переучиваться и жестко пришлось в 15-ом, когда сократили и был кризис и в стране,
и в отрасли. Вот тогда ушел TDM и пришла передача данных, сетевые технологии CCNA и многое другое
Потом докатилось окончательно в 16ом - тогда наступила эта VoIP, полноценный SIP, софтсвич и вот это все
стильное модное. Голос уже перешел в медиа, проводная связь уходит в прошлое
    А сейчас все идет переход дальше, можно сказать WebRTC - теперь все вместе и голос по SIP и видео, и
данные, текст, контент - все это идет одним транспортом, и снова переучиваешься
    Смотря на свои записи, что все пытаюсь по немногу переносить в Интернет, начал писать книгу одним
развитии и истории, как менялся телеком на моих глазах. Думал надо оно нет, как вот сразу попалась книга на глаза про
историю связи, которую здесь и прикладываю на память
    Значит это кому-то надо, значит это не зря

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

воскресенье, 12 апреля 2026 г.

EBITDA - вот эбитда, так эбитда полнейшая

 


 

 

    EBITDA (Earnings before interest, taxes, depreciation and amortization) — это прибыль компании до вычета амортизационных затрат, уплаты процентов по долгам и выплаты прямых налогов. Часто EBITDA называют показателем «грязной прибыли». Измеряют его в деньгах (рубли, доллары, евро).

     Думал такое от меня далеко, а сейчас все чаще и чаще слышу, обсуждается и косвено да, уже касается и меня

   По сути EBIDTA показывает, какую сумму компания может выплатить в качестве дивидендов — то, что как раз важно инвесторам — или пустить на погашение кредитов. 

 

Классические формулы:

  • EBITDA = чистая прибыль + налоги + процентные расходы + износ и амортизация
  • EBITDA = операционная прибыль + износ и амортизация

По сути это вот следующая формула расчёта: 

 

EBITDA = выручка – (прямые затраты + косвенные затраты) – (расходы на оплату труда + социальные налоги, взносы и сборы) – операционные налоги (за исключением НДС и налога на прибыль) + прочие доходы – прочие расходы

 

Повышайте компитенции, чтобы Ваша личная EBITDA только росла

 

 

 

 

 

 

 

Шпаргалка по аббревиатурам встречающимся в VoIP

  Аббревиатура    Английское Обозначение                        Перевод/Описание ABR       Answer Bid Ratio                            Коэфф...