AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Что такое DID?

Newbies/FAQ Forum 11 сообщений -
#1

Граждане, подскажите пожалуйста простыми русскими словами что такое DID, для чего нужен и как работает?
Просьба на английскую версию описания не отсылать, ибо после ее прочтения ясности с этим понятием не наступило в связи не особо сильным английским...
#2

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

Покупаешь канадский номер +1 xxxx .... у DID-провайдера, а он при звонке на этот номер перекидывает вызов к вам на PBX по SIP, или даже IAX2. Так можно покупать номера многих стран и городов, часто используется для организации "виртуальных офисов" - вроде есть представительство в каком-то городе, даже номер телефона есть, а на самом деле звонок перенаправляется куда-то в другую сторону...
#3

Эх, я тоже долго тупил, и один знакомый Цискаридзе не смог мне объяснить человечьим языком!
DID = сокращение от Direct Inward Dial
По-русски говоря - это телефонный номер выделеный в абстракт. Но этот абстракт сегодня активно обменивается. продаётся и пр. - didx.org и полно таких.
Ноги растут от шлюзов Циско, которые одним концом в ТФОП - телефонную сеть города, а другим - в ИП сети.
В конфигах этих шлюзов создаются диал-пиры - виртуальные объекты, которые определяют роутинг телефонных номеров. Аналогия очень похожа с маршрутизацией ИП. И в том и другом случае имеет место две важных характериситики: SourceIP-DestinationIP выглядит условно ИП пакет, и CallerID-CalleeID выглядит телефонный звонок.
Таким образом определяются две различные модели поведения при прохождении телефонного звонка: 1) Циска терминирует на себя звонок, и выдаёт длинный гудок, если до неё дозвонишься, или перенаберёт номер, который укажешь как plar. 2) Циска пропустит звонок насквозь, если будет указана магическая фраза direct-inward-dial согласно подходящему диал-пиру.
Пример:
У нас есть городской телефон 7654321, а мы такие умные, вместо телефонного аппарата в розетку подключили Циску с портом FXO. Особо не мудрили с пирами, и
1) дозваниваемся из дому на работу по 7654321, гудок, набираем 004930692011221 - привет камрад, как жисть жестяная?
Абсолютно несекьюрно. Добавляем на нашем потсовом пире connection plar 123 и когда опять звоним из дому на 7654321 звенит телефон 123 у секретаршы Люды.
2) Добавляем на нашем потсовом пире вместо connection plar 123 - direct-inward-dial и тогда пришедший звонок на 7654321 будет искать пир, под который подходит № 7654321 и уйдет через него.
Всё это не очень понятно "Зачем так?" на аналоговых портах, и становится разумно на цифровых. Там укажем direct-inward-dial, и уже можем иметь один номер многоканальный, а остальные продавать на сторону, переназначив их на воипный пир.
#4

Romik писал(а):
Скорее вам нужно это знать в таком контексте:
DID номер - это городской номер, который оператор перенаправит на ваш PBX, в случае покупки оного.

Покупаешь канадский номер +1 xxxx .... у DID-провайдера, а он при звонке на этот номер перекидывает вызов к вам на PBX по SIP, или даже IAX2. Так можно покупать номера многих стран и городов, часто используется для организации "виртуальных офисов" - вроде есть представительство в каком-то городе, даже номер телефона есть, а на самом деле звонок перенаправляется куда-то в другую сторону...

Спасибо за пояснение, я примерно так и подозревал.
Т.е. продавцами выступают те, кто имеет номерную емкость в "обычной" телефонии и возможность дальше эти звонки по IP отправлять.
Звонок я так понимаю при этом сценарии возможен только в одну сторону - в стране получателе приняли и пошуровал он к нам по IP.
В обратку через этого оператора выйти в телефонную сеть страны отправителя звонка не светит (ну ясно, в случае входящего звонка сей оператор нифига не платит, потому и предоставляет эту услугу).
Тогда возникает еще вопрос - как работа с таким номером выглядит с точки зрения астериска? Как транк (peer) описывается?
И какая по этому транку информация может прийти кроме CID'а?

Added after 8 minutes:

Ded писал(а):
Всё это не очень понятно "Зачем так?" на аналоговых портах, и становится разумно на цифровых. Там укажем direct-inward-dial, и уже можем иметь один номер многоканальный, а остальные продавать на сторону, переназначив их на воипный пир.

Скажем так немного посложнее пояснение вышло чем у Romik'а Smile
По крайней мере для того кто таких цисок пока в руках держал.

Давай попробуем на наш, детсадовский уровень спустится Smile
Есть у меня шлюз на 4 FXO куда соотв заходят городские аналоговые линии.
Ну например 1111111, 2222222, 3333333, 4444444.
Шлюз зареган на астериске, каждая линия со своим именем.
На шлюзе настроен хотлайн (plar) на ринг-группу 3000.

Вот в такой конфигурации понятие DID где-то применимо?

Added after 1 minutes:

Я могу рассматривать свой шлюз как некоего удаленного провайдера услуг DID?
#5

нет.

Added after 14 minutes:

SolarW писал(а):
Я могу рассматривать свой шлюз как некоего удаленного провайдера услуг DID?

да, но с него будет приходить уже 3000, и это не DID.
SolarW писал(а):
Вот в такой конфигурации понятие DID где-то применимо?

к примеру, директор себе хочет отдельный номер, чтобы его начальство ему напрямую дозванивалось.
Надо выламывать 444444 из плара, и передавать его как DID. В триксбоксе в сценарии входящих звонков указываешь - DID 444444, и что с ним делать? На стол начальнику - SIP/1000
#6

Ded писал(а):

да, но с него будет приходить уже 3000, и это не DID.

Гммм... С него приходит НА 3000.
Шлюз шлет вот в таком виде звонок (включил дебаг)
Код:
strDes To:sip:3000@192.168.0.1, strOri From:"12nnyyyyyyy"

Где:
192.168.0.1 - айпишник асетриска на котором регистрируется шлюз и куда шлет звонки
12nnyyyyyyy - CallerID number звонящего абонента (12 - не ясно что, АТС добавляет, nn - код направления/города, yyyyyyy - собственно номер телефона)
2222222 - номер линии воткнутой в шлюз и заодно имя под которым порт регистрируется на астериске.
Триксбокс воспринимает сей звонок так:
Код:
-- Executing [3000@from-internal:1] Macro("SIP/2222222-b7600470", "user-callerid|") in new stack
-- Executing [s@macro-user-callerid:1] NoOp("SIP/2222222-b7600470", "user-callerid: 12nnyyyyyyy 2222222") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/2222222-b7600470", "AMPUSER=2222222") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/2222222-b7600470", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] GotoIf("SIP/2222222-b7600470", "0?start") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/2222222-b7600470", "REALCALLERIDNUM=2222222") in new stack
-- Executing [s@macro-user-callerid:6] NoOp("SIP/2222222-b7600470", "REALCALLERIDNUM is 2222222") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/2222222-b7600470", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/2222222-b7600470", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:9] GotoIf("SIP/2222222-b7600470", "1?report") in new stack
-- Goto (macro-user-callerid,s,13)
-- Executing [s@macro-user-callerid:13] NoOp("SIP/2222222-b7600470", "TTL: ARG1: ") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("SIP/2222222-b7600470", "0?continue") in new stack
-- Executing [s@macro-user-callerid:15] Set("SIP/2222222-b7600470", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/2222222-b7600470", "1?continue") in new stack
-- Goto (macro-user-callerid,s,23)
-- Executing [s@macro-user-callerid:23] NoOp("SIP/2222222-b7600470", "Using CallerID "12nnyyyyyyy" ") in new stack
........................
dialparties.agi: Caller ID name is '12nnyyyyyyy' number is '2222222'

Т.е. определившийся номер абонента считает за CID name а имя порта с которого пришел звонок за CID number.
Кстати из-за этого не работают Incomin routes - ибо у них как аргументы для срабатывания подставляются:
- DID (не понятно что им является в данном случае)
- CID number (он как видим всегда один и равен имени порта/номеру входящей в шлюз линии)
Ded писал(а):
к примеру, директор себе хочет отдельный номер, чтобы его начальство ему напрямую дозванивалось.
Надо выламывать 444444 из плара, и передавать его как DID. В триксбоксе в сценарии входящих звонков указываешь - DID 444444, и что с ним делать? На стол начальнику - SIP/1000

Не совсем понятна выделенная часть.
Т.е. я попробовал создавать Incoming routes прописывая 2222222 и в DID, и в CID numbers как по отдельности так и вместе - нифига, не роутит звонок на указанный ext.
Как шел на ринг-группу 3000 так и идет...

P.S. А приходящий на 2222222 звонок можно на директора (1000) пнуть прописав хотлайн 1000 для порта на шлюзе куда вставлен 2222222.
Но как я догадываюсь - к DID и Incoming routes это отношения не имеет совсем никакого...
#7

У тебя Натекс, я их логику и терминологию не совсем понимаю.
Но только не пытайся мне её объяснять и сопоставлять.
#8

Ded писал(а):
У тебя Натекс, я их логику и терминологию не совсем понимаю.

Не совсем натекс, другой из клонов WellTech'а - Dynamix (он же NSGate, он же еще фиг знает кто)
Ded писал(а):
Но только не пытайся мне её объяснять и сопоставлять.

И не подумаю Smile
Хватит что у меня тяжелое voip-детство Smile
Вместо нормальных игрушек (Cisco, Digium) деревяные (Diynamix, Planet, OvisLink, D-Link...) Very Happy