Страница 1 из 1

Автоматическое определение факса

Добавлено: 10 апр 2013, 16:01
kenny
Добрый день.
Столкнулся с такой проблемой, использую asterisk now, Asterisk 11.2.1 built by root @ 237-138-19-10.digium.internal.
Задача автоматически принимать любой звонок и течении N-ого времени(По возможности) ждать звука факса для старта процедуры
приема самого факса. На данный момент я добился только приема вакса во время звонка между софтфоном и факс машиной через аташку.
Но вот в чем загвоздка: в дальнейшем звонок будет приходить с меры(mvts pro). Нужно на этот звонок ответить и, по возможности но не обязательно, в течении N времени(к примеру 2 минут) ждать сигнала факса, по истечении 2 минут, если сигнал факса так и не поступил- завершить звонок.
Алгоритм такой, имеем номер, к примеру 666666, при звонке на этот номер мера перебрасывает звонок в астериск(на меру доступа нет).
При звонке на 666666 получаю в логах:

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('CHAN_START',{ts '2013-04-10 14:53:26'},'','37378139499','','','','s','from-sip-external','SIP/82.219.220.98-00000054','','',3,'','1365594806.84','1365594806.84','','','')]
-- Executing [s@from-sip-external:1] GotoIf("SIP/82.219.220.98-00000054", "0?checklang:noanonymous") in new stack
-- Goto (from-sip-external,s,5)
-- Executing [s@from-sip-external:5] Set("SIP/82.219.220.98-00000054", "TIMEOUT(absolute)=15") in new stack
-- Channel will hangup at 2013-04-10 14:53:41.168 EEST.
-- Executing [s@from-sip-external:6] Answer("SIP/82.219.220.98-00000054", "") in new stack
> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('ANSWER',{ts '2013-04-10 14:53:26'},'','37378139499','37378139499','','','s','from-sip-external','SIP/82.219.220.98-00000054','Answer','',3,'','1365594806.84','1365594806.84','','','')]
-- Executing [s@from-sip-external:7] Wait("SIP/82.219.220.98-00000054", "2") in new stack
-- Executing [s@from-sip-external:8] Playback("SIP/82.219.220.98-00000054", "ss-noservice") in new stack
-- <SIP/82.219.220.98-00000054> Playing 'ss-noservice.ulaw' (language 'en')
-- Executing [s@from-sip-external:9] PlayTones("SIP/82.219.220.98-00000054", "congestion") in new stack
-- Executing [s@from-sip-external:10] Congestion("SIP/82.219.220.98-00000054", "5") in new stack
== Spawn extension (from-sip-external, s, 10) exited non-zero on 'SIP/82.219.220.98-00000054'
-- Executing [h@from-sip-external:1] Hangup("SIP/82.219.220.98-00000054", "") in new stack
== Spawn extension (from-sip-external, h, 1) exited non-zero on 'SIP/82.219.220.98-00000054'
> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('HANGUP',{ts '2013-04-10 14:53:38'},'','37378139499','37378139499','','','h','from-sip-external','SIP/82.219.220.98-00000054','','',3,'','1365594806.84','1365594806.84','','','')]
> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('CHAN_END',{ts '2013-04-10 14:53:38'},'','37378139499','37378139499','','','h','from-sip-external','SIP/82.219.220.98-00000054','','',3,'','1365594806.84','1365594806.84','','','')]
> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('LINKEDID_END',{ts '2013-04-10 14:53:38'},'','37378139499','37378139499','','','h','from-sip-external','SIP/82.219.220.98-00000054','','',3,'','1365594806.84','1365594806.84','','','')]

extensions.cons:

[from-fax]
exten => s,Answer
exten => fax,1,NoOp(-------------------Call from ${CALLERID(number)} to ${EXTEN}------------------)
exten => fax,n,Goto(fax-rx,receive,1)
[fax-rx]
exten => receive,1,NoOP(------------------- FAX from ${CALLERID(number)} ------------------)
exten => receive,n,Answer()
exten => receive,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(number)})
exten => receive,n,Set(FAXFILE=/var/spool/fax-r/${FILENAME}.tif)
exten => receive,n,Set(FAXOPT(headerinfo)=Received by ${CALLERID(number)} ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)})
exten => receive,n,Set(FAXOPT(localstationid)=OFFICE)
exten => receive,n,Set(FAXOPT(maxrate)=14400)
exten => receive,n,Set(FAXOPT(minrate)=2400)
exten => receive,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => receive,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => receive,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => receive,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => receive,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => receive,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => receive,n,ReceiveFAX(${FAXFILE})
exten => receive,n,Hangup()


Ну и сама строчка в sip.conf которой я регистрируюсь на мере:
[general]
register => user:password@m.e.r.a.ip/

Не подскажите где ошибка, по возможности на пальцах.
Заранее благодарю.

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 16:05
ded
Пока что ошибка в неправильном описании SIP пира Mera на Астериске, в результате внешний входящий с Меры не может опознаться как "свой", и стандарнтно обработанный в контексте from-sip-external посылает на корнеплод хрен:
("SIP/82.219.220.98-00000054", "ss-noservice")

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 16:18
kenny
Т.Е. если я все правильно понял, необходимо создать клиента в файле sip.conf в самом низу и записать ему type=peer и context=from-fax?
Я прошу прощения, я недавно в VoIP

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 16:21
ded
Вы используете вэб-оболочку, вот и делайте в ней SIP транк.
type=friend и context=from-trunk
Зачем вручную крошить sip.conf?
Пояснения "я новичок", "недавно в VoIP" не имеют юридической силы.

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 16:39
kenny
Так я правильно понял или нет?
Решил пользоваться файлами, чтобы лучше научиться.

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 16:42
ded
Если так решили - сносите AsteriskNOW, иначе будет абсолютная путанница.
Она уже началась.

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 16:58
kenny
Давайте, если Вас не затруднит, еще раз уточним.
Исходя из уже сделанного, в sip.conf необходимо создать клиента
[fax]
type=peer
context=from-fax
?

Re: Автоматическое определение факса

Добавлено: 10 апр 2013, 17:10
ded
kenny, не превращайте свой вопрос в площадку индивидуального обучения. Новичком Вы можете стать после прочтения книги по Астериску и кучи практических опытов.