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

показать на дисплее "sip3" информацию o звонке от

Asterisk IP PBX 21 сообщений -
#1

Кто знает, как я могу показать на дисплее "sip3" информацию o звонке от "sip1" к "sip2" т.е. вырезать FROM и TO строчки из SIP INVITE пакета и кинуть их на дисплей к "sip3"
#2

можно позвонить на трубу 3 и передать на неё CID 2 или 1.
стандартными средствами астериска имхо врядли сделаешь то что хочешь. типа писать самому драйвер надо я думаю. хотя поковыряй в сторону Send TEXT и тп..

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#3

пробовал, не помогает.
SendText присилает Message, которий надо опросить нажатием кнопок,

а мне надо чтоб челевек просто посмотрел и решил, давить иму *8 или нет.
#4

так не полчится =) телефон это не компутер Wink

можно купить LCD экранчик четырёхстрочный на принтерный порт и поставить на стол или на моник прицепить. и делай с ним все что хошь уже. как вариант.

http://www.doc.ic.ac.uk/~ih/doc/lcd/
http://lcdproc.omnipotent.net/screenshots.php3
http://www.linuxfocus.org/English/Septem ... e258.shtml
http://www.bipom.com/documents/catalog/lcds.pdf

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#5

спасибо большое это конечно вариант, но не то, что я ищу

мне нужен сигнал именно на телефоне (или приборе подключенном непосредственно к телефону).

приблезительно так, как делает телефон, когда приходит simple message (не громко, но заметно)
#6

это врядли возможно. как я уже заметил - телефон не такое сложное устройство как компъютер. и все эти возможности, которые нужны счас вам, закладывать заранее в устройство и чтобы в 99% эти возможности простаивали - потенциально не выгодно рынку. тоесть себестоимость устройства которая должна стремиться к нулю (таких растрат в девайсе которые будут юзать всего 1% пользователей) себя не оправдыввает.
так что придется чтото самому изобретать по любому. в данном случае схема с LCD самая простая - реализуцется на коленке за полчаса без особого опыта. драйвера работы с ним тоже есть в инете все.. все предельно просто. в конце концов на аську можно слать - тут был топик такой как раз недавно. если человек у компа то самый экономичный вариант получится Smile

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#7

> если человек у компа то самый экономичный вариант получится

вот в этом то все дело. рабочее место может быть вообше без компа,
а телефон быть - обязан.

(не совсем представляю себе такое рабоче место, но чисто теоретически - "быть может!")

поэтому и нужно сетевое устройство или лучше сразу сам телефон.
#8

А если поковыряться в сторону SIP NOTIFY?
Может там есть нужный Event
#9

dyer писал(а):
А если поковыряться в сторону SIP NOTIFY?
Может там есть нужный Event


ему не совсем то нужно что позволяет железо...
он хочет сразу инфу о звонящих "откуда и куда" одновременно (размер индикатора на телефоне не позволлит тоже). и чтоб без звонка на аппарате.
а железо строго ограничего. напрмиер CID проходит на железо со станции только строго между вторым и третим звонком.
кароче он хочет нестандартный запрос реализовать на стандартном железе (в котором минимум реализовано) я думаю что это невозможно. тоесть под нестандартное решение нужен и нестандартный девайс. если там нет компа то значит надо собирать самому более сложный девайс LCD + (PIC?) + сетевой контроллер для IP.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#10

Resu писал(а):
поэтому и нужно сетевое устройство

обратитесь к любому электронщику - собрать такое устройство теоритически несложно. вопрос лишь в том чем заинтерисуете спеца Wink

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#11

dyer писал(а):
А если поковыряться в сторону SIP NOTIFY?
Может там есть нужный Event

на счет Event не знаю. вообще SIP NOTIFY приходят и обрабатываются телефоном также как и пакеты MESSAGE (вызванные exten => xxx,y,SendText('rrrrrrrr')) т.е. как SMS.
а это не подходит, т.к. надо нажимать кнопки для того что бы его прочитать.
но, спасибо, я посмотрю в этом направлении.

. писал(а):

он хочет сразу инфу о звонящих "откуда и куда" одновременно и чтоб без звонка на аппарате.


да, мне надо "кто и кому", но вовсе не обязательно без звонка на аппарате

я пока обошел (не решил, а именно обошел) проблему так:
Код:

exten => 123,1,Dial(SIP/123&SIP/321&SIP/231||3)
exten => 231,1,Dial(SIP/123&SIP/321&SIP/231||3)
exten => 321,1,Dial(SIP/123&SIP/321&SIP/231||3)

exten => _XXX,1,NoOP()
exten => _XXX,2,Dial(SIP/${EXTEN}||30)

очевидно, что при таком подходе я не вишу КОМУ на самом деле звонят

. писал(а):
напрмиер CID проходит на железо со станции только строго между вторым и третим звонком.


а вот ето для меня НОВОСТь. я вижу CallerID в приходяшем SIP INVITE пакете
#12

Resu писал(а):


я пока обошел (не решил, а именно обошел) проблему так:
Код:

exten => 123,1,Dial(SIP/123&SIP/321&SIP/231||3)
exten => 231,1,Dial(SIP/123&SIP/321&SIP/231||3)
exten => 321,1,Dial(SIP/123&SIP/321&SIP/231||3)

exten => _XXX,1,NoOP()
exten => _XXX,2,Dial(SIP/${EXTEN}||30)

очевидно, что при таком подходе я не вишу КОМУ на самом деле звонят


А что мешает выставить нужный callerID самому?Smile
в виде From-To
#13

Resu писал(а):
...мне надо "кто и кому", но вовсе не обязательно без звонка на аппарате


Resu писал(а):
...а мне надо чтоб челевек просто посмотрел и решил, давить иму *8 или нет.


как вы себе вообще представляете ЭТО? во время звонка (через который будет передана информация на индикатор телефона) не получится нажать *8. никак. ну разве что поднять трубу и присоединиться третим. Wink

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#14

. писал(а):
как вы себе вообще представляете ЭТО? во время звонка ... не получится нажать *8. никак.


не только представлю, но по моему решению это еще и работает Smile, но вот только видно кто звонит, но не кому, т.е. в течении первых 3 сек каждый из абонентов может с полным правом пологать, что звонят именно ему.

а вот потом уже на 4й сек звонка звонит только то телефон, который и должен звонить и именно теперь остальные могут давить *8,
а в первые 3 сек никто и не успеет перехватить звонок

dyer писал(а):
А что мешает выставить нужный callerID самому?
в виде From-To


если вы имеете в виду нечто типа:
Код:
exten => 123,1,setVar(TO="321 ")
exten => 123,2,Dial(SIP/123)

то это не катит
#15

Resu писал(а):

dyer писал(а):
А что мешает выставить нужный callerID самому?
в виде From-To


если вы имеете в виду нечто типа:
Код:
exten => 123,1,setVar(TO="321 ")
exten => 123,2,Dial(SIP/123)

то это не катит
что-то типа. вот только ключевое слово - callerid, а никак ни from, ни to
#16

CallerID - это тот кто звонит.
мне эту инфу менять не надо
#17

exten => 123,1,SetCallerID,$FROM

вот так надо. в таком случае в первой строчке индикатора будет вместо имени номер звонящего а во втрой куда он звонит.

естественно переменные $FROM и $TO вы должны задать перед этим.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#18

уважаемый .,
ваше решение настолько же просто как и гениально.
болшое спасибо.

я только поменял ФРОМ и ТО местами, что бы была возможность перезвонить звонящему.

в последней редакции мой DilaPlan выглядит приблезительно так:
Код:
exten => 123,1,SetCallerID('${CALLERIDNUM} -> ${CALLERIDNUM} ')
exten => 231,1,SetCallerID('${CALLERIDNUM} -> ${EXTEN} ')
exten => 321,1,SetCallerID('${CALLERIDNUM} -> ${EXTEN} ')

exten => _XXX,1,NoOp()
exten => _XXX,2,Dial(${EXTEN})
еще раз спасибо,
Resu
#19

вообщето использовать в данном случае SetCallerID не совсем политкоректно Wink потому что он задаёт сразу два параметра - ИМЯ и НОМЕР. в результате может возникнуть путаница и недопонимание того что же тут происходит когда ктото будет читать конфиг скажем через пару лет.
коректнее ипользовать что-то вроде setName и setNumber по отдельности - есть такие только названия правильные сами посмотрите на voip-info - мне лень Smile

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#20

лень - двигатель прогреса!! (или регреса) Wink
по сути я с вами согласен.
если я не ошибаюсь CallerID = "${CALLERIDNAME} ". поэтому правильнее было бы писать нечто вроде:
Код:
exten => 321,1,SetCallerID('${CALLERIDNAME} (${CALLERIDNUM}) -> ${EXTEN} ')
однако это может не поместиться на дисплее телефона, поэтому я сократил до см. выше.
на присутсвии CALLERIDNUM я настаиваю т.к. приходящие из вне звонки не обязаны содержать CALLERIDNAME. т.е. только в случае подавления CALLERIDNUM не будет видно КТО звонит. но тогда такой звонок и перенимать не обязательно Wink
#21

пришлось заставить себя полезть на voip-info... Wink
вот что я имел ввиду:
http://voip-info.org/tiki-index.php?page ... etCallerID
Note that the variable ${CALLERID} contains the current call's Caller ID (name and number).
я же предлагаю использовать вот это (ссылки на этой же странице внизу):

See also
Asterisk cmd SetCIDName: Set caller ID name only
Asterisk cmd SetCIDNum: Set caller ID number only

по моему так просто логичнее будет.. но это опять же - на мой вкус Smile

примерный алгоритм:
...
exten => 123,5,SetCIDName($FROM)
exten => 123,6,SetCIDNum($TO)
...

вот что я имел ввиду. хотя ваш пример тоже вполне работоспособен Wink просто можно красивее сделать.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius