VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Elastix FAX

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модераторы: april22, Zavr2008

shakirov
Сообщения: 117
Зарегистрирован: 11 дек 2010, 13:48

Re: Elastix FAX

Сообщение shakirov »

Всё таки если не затруднит подскажите как быть.
Вот идет звонок с железного факса на меди (5379829) к * (2112222)

Код: Выделить всё

INVITE sip:2112222@10.60.128.232 SIP/2.0
Via: SIP/2.0/UDP 91.144.140.130;branch=91.144.140.138.5075-a0410000
From: "AlterPSS" <sip:5379829@91.144.140.138:5075>;tag=91.144.140.138.5075-255257760-14265
To: <sip:2112222@10.60.128.232>;tag=as373d9d08
User-Agent: AlterProxySoftSwitch
Call-ID: 7D643027-00156965-f36eca0-003d86@91.144.140.138
CSeq: 16800 INVITE
Contact: <sip:5379829@91.144.140.130>
Content-Type: application/sdp
Content-Length: 386
Date: Wed, 15 Dec 2010 13:46:21 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, INFO, BYE

v=0
o=91.144.140.138 1292420781 1292420781 IN IP4 91.144.140.138
s=AlterProxySoftSwitch
c=IN IP4 91.144.140.138
t=0 0
m=image 16546 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:9600
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:200
a=T38FaxMaxDatagram:72
a=T38FaxUdpEC:t38UDPRedundancy
На него астериск говорит:

Код: Выделить всё

[Dec 15 16:46:20] VERBOSE[1682] chan_sip.c: --- (12 headers 15 lines) ---
[Dec 15 16:46:20] VERBOSE[1682] chan_sip.c: Sending to 91.144.140.130 : 5060 (no NAT)
[Dec 15 16:46:20] VERBOSE[1682] chan_sip.c: Got T.38 offer in SDP in dialog 7D643027-00156965-f36eca0-003d86@91.144.140.138
[Dec 15 16:46:20] VERBOSE[1682] chan_sip.c: Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x0 (nothing)/video=0x0 (nothing)/text=0x0 (nothing), combin
ed - 0x0 (nothing)
[Dec 15 16:46:20] VERBOSE[1682] chan_sip.c: Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing)
[Dec 15 16:46:20] VERBOSE[1682] chan_sip.c: Got T.38 Re-invite without audio. Keeping RTP active during T.38 session.
[Dec 15 16:46:20] NOTICE[1682] chan_sip.c: T.38 re-INVITE detected but no fax extension
и сип респонс:

Код: Выделить всё

SIP/2.0 488 Not acceptable here
Via: SIP/2.0/UDP 91.144.140.130;branch=91.144.140.138.5075-a0410000;received=91.144.140.130
From: "AlterPSS" <sip:5379829@91.144.140.138:5075>;tag=91.144.140.138.5075-255257760-14265
To: <sip:2112222@10.60.128.232>;tag=as373d9d08
Call-ID: 7D643027-00156965-f36eca0-003d86@91.144.140.138
CSeq: 16800 INVITE
Server: Asterisk PBX 1.6.2.13
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Content-Length: 0

чет я не пойму, 5379829 сначала делает INVITE T.38, а потом говорит Not acceptable here, эт как так?

загуглился уже, всё что было по "T.38 re-INVITE detected but no fax extension" прочел, ничего вразумительного или помогающего решить проблему не нашел. После включения Fax detection из дома факсы стали ходить до астериска, с других номеров/аппаратников ни в какую.

помогите уж пожалуйста! обещаю всё что нарыл по факсам свести в одну статью чтоб следующим ходокам по граблям было проще.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix FAX

Сообщение ded »

Got T.38 offer in SDP in dialog 7D643027-00156965-f36eca0-003d86@91.144.140.138 - это Астериск нашёл вот это предложение Т.38
v=0
o=91.144.140.138 1292420781 1292420781 IN IP4 91.144.140.138
s=AlterProxySoftSwitch
c=IN IP4 91.144.140.138
t=0 0
m=image 16546 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:9600
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0

Посмотрите ещё раз sip show settings - есть там Т38 support = yes?

Not acceptable here потому что не подобран голосовой кодек
chan_sip.c: Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x0 (nothing)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x0 (nothing)
shakirov
Сообщения: 117
Зарегистрирован: 11 дек 2010, 13:48

Re: Elastix FAX

Сообщение shakirov »

Да, включен:

Код: Выделить всё

pbx*CLI> sip show settings
Global Settings:
  T.38 support:           Yes
  T.38 EC mode:           FEC
  T.38 MaxDtgrm:          -1

Код: Выделить всё

pbx*CLI> sip show peer 2112222
  * Name       : 2112222
  T.38 support : Yes
  T.38 EC mode : FEC
  T.38 MaxDtgrm: -1
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix FAX

Сообщение ded »

Ответил в личку.
tma
Сообщения: 1809
Зарегистрирован: 18 сен 2010, 20:50
Контактная информация:

Re: Elastix FAX

Сообщение tma »

ded писал(а):Это называется фильтр "Наш/не наш клиент".
Не в транзите! У нас надо -- значит надо! И никакой прошлый век, тем более нет никакой вменяемой аргументации, тут не поможет.
Все остальное на гране -- мой asterisk не умеет, значит не не нужно! Скажете нет?!!
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
cden
Сообщения: 3
Зарегистрирован: 24 май 2013, 18:12

Re: Elastix FAX

Сообщение cden »

shakirov

Как все-таки вы решили проблему? У меня такая-же
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Elastix FAX

Сообщение awsswa »

не принимает не отправляет ?
платный суппорт по мере возможностей
cden
Сообщения: 3
Зарегистрирован: 24 май 2013, 18:12

Re: Elastix FAX

Сообщение cden »

awsswa писал(а):не принимает не отправляет ?
Да. Логи аналогичные shakirov.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Elastix FAX

Сообщение awsswa »

t38pt_udptl=yes,redundancy,maxdatagram=400

ну и дебаг звонка

fax set debug on
udptl set debug on
платный суппорт по мере возможностей
cden
Сообщения: 3
Зарегистрирован: 24 май 2013, 18:12

Re: Elastix FAX

Сообщение cden »

awsswa писал(а):t38pt_udptl=yes,redundancy,maxdatagram=400
Да, так и есть

Первоначально настраивал отсюда: http://www.sipring.ru/overview/asterisk ... tears.html На Астериске через обычную линию (с голосовым шлюзом D-Link RVG711SE) по этой ссылке заработало все сразу. На Астериске, подключенном к провайдеру SIP-телефонии при попытке принять факс пишет:

Код: Выделить всё

  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Executing [2114846@from-trunk-sip-2042091:1] Set("SIP/2042091-00000384", "GROUP()=OUT_3") in new stack
    -- Executing [2114846@from-trunk-sip-2042091:2] Goto("SIP/2042091-00000384", "from-trunk,2114846,1") in new stack
    -- Goto (from-trunk,2114846,1)
    -- Executing [2114846@from-trunk:1] Set("SIP/2042091-00000384", "__FROM_DID=2114846") in new stack
    -- Executing [2114846@from-trunk:2] Gosub("SIP/2042091-00000384", "app-blacklist-check,s,1") in new stack
    -- Executing [s@app-blacklist-check:1] GotoIf("SIP/2042091-00000384", "0?blacklisted") in new stack
    -- Executing [s@app-blacklist-check:2] Set("SIP/2042091-00000384", "CALLED_BLACKLIST=1") in new stack
    -- Executing [s@app-blacklist-check:3] Return("SIP/2042091-00000384", "") in new stack
    -- Executing [2114846@from-trunk:3] ExecIf("SIP/2042091-00000384", "0 ?Set(CALLERID(name)=78432921779)") in new stack
    -- Executing [2114846@from-trunk:4] Set("SIP/2042091-00000384", "__CALLINGPRES_SV=allowed_not_screened") in new stack
    -- Executing [2114846@from-trunk:5] Set("SIP/2042091-00000384", "CALLERPRES()=allowed_not_screened") in new stack
    -- Executing [2114846@from-trunk:6] Goto("SIP/2042091-00000384", "from-did-direct,330,1") in new stack
    -- Goto (from-did-direct,330,1)
    -- Executing [330@from-did-direct:1] Macro("SIP/2042091-00000384", "exten-vm,novm,330") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("SIP/2042091-00000384", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/2042091-00000384", "AMPUSER=78432921779") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/2042091-00000384", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/2042091-00000384", "1?Set(REALCALLERIDNUM=78432921779)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/2042091-00000384", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/2042091-00000384", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/2042091-00000384", "1?report") in new stack
    -- Goto (macro-user-callerid,s,10)
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/2042091-00000384", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("SIP/2042091-00000384", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/2042091-00000384", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("SIP/2042091-00000384", "CALLERID(number)=78432921779") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/2042091-00000384", "CALLERID(name)=78432921779") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("SIP/2042091-00000384", "Using CallerID "78432921779" <78432921779>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("SIP/2042091-00000384", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("SIP/2042091-00000384", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("SIP/2042091-00000384", "__EXTTOCALL=330") in new stack
    -- Executing [s@macro-exten-vm:5] Set("SIP/2042091-00000384", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("SIP/2042091-00000384", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("SIP/2042091-00000384", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("SIP/2042091-00000384", "record-enable,330,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/2042091-00000384", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("SIP/2042091-00000384", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("SIP/2042091-00000384", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("SIP/2042091-00000384", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("SIP/2042091-00000384", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("SIP/2042091-00000384", "dial-one,"",tr,330") in new stack
    -- Executing [s@macro-dial-one:1] Set("SIP/2042091-00000384", "DEXTEN=330") in new stack
    -- Executing [s@macro-dial-one:2] Set("SIP/2042091-00000384", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("SIP/2042091-00000384", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("SIP/2042091-00000384", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("SIP/2042091-00000384", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("SIP/2042091-00000384", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("SIP/2042091-00000384", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("SIP/2042091-00000384", "EXTHASCW=") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("SIP/2042091-00000384", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("SIP/2042091-00000384", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("SIP/2042091-00000384", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("SIP/2042091-00000384", "1?continue") in new stack
    -- Goto (macro-dial-one,s,25)
    -- Executing [s@macro-dial-one:25] GotoIf("SIP/2042091-00000384", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:26] GosubIf("SIP/2042091-00000384", "1?dstring,1:dlocal,1") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("SIP/2042091-00000384", "DSTRING=") in new stack
    -- Executing [dstring@macro-dial-one:2] Set("SIP/2042091-00000384", "DEVICES=330") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("SIP/2042091-00000384", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("SIP/2042091-00000384", "0?Set(DEVICES=30)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("SIP/2042091-00000384", "LOOPCNT=1") in new stack
    -- Executing [dstring@macro-dial-one:6] Set("SIP/2042091-00000384", "ITER=1") in new stack
    -- Executing [dstring@macro-dial-one:7] Set("SIP/2042091-00000384", "THISDIAL=IAX2/330") in new stack
    -- Executing [dstring@macro-dial-one:8] GosubIf("SIP/2042091-00000384", "1?zap2dahdi,1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/2042091-00000384", "0?Return()") in new stack
    -- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/2042091-00000384", "NEWDIAL=") in new stack
    -- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/2042091-00000384", "LOOPCNT2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/2042091-00000384", "ITER2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/2042091-00000384", "THISPART2=IAX2/330") in new stack
    -- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/2042091-00000384", "0?Set(THISPART2=DAHDI2/330)") in new stack
    -- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/2042091-00000384", "NEWDIAL=IAX2/330&") in new stack
    -- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/2042091-00000384", "ITER2=2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/2042091-00000384", "0?begin2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/2042091-00000384", "THISDIAL=IAX2/330") in new stack
    -- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/2042091-00000384", "") in new stack
    -- Executing [dstring@macro-dial-one:9] Set("SIP/2042091-00000384", "DSTRING=IAX2/330&") in new stack
    -- Executing [dstring@macro-dial-one:10] Set("SIP/2042091-00000384", "ITER=2") in new stack
    -- Executing [dstring@macro-dial-one:11] GotoIf("SIP/2042091-00000384", "0?begin") in new stack
    -- Executing [dstring@macro-dial-one:12] Set("SIP/2042091-00000384", "DSTRING=IAX2/330") in new stack
    -- Executing [dstring@macro-dial-one:13] Return("SIP/2042091-00000384", "") in new stack
    -- Executing [s@macro-dial-one:27] GotoIf("SIP/2042091-00000384", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:28] GotoIf("SIP/2042091-00000384", "0?skiptrace") in new stack
    -- Executing [s@macro-dial-one:29] GosubIf("SIP/2042091-00000384", "1?ctset,1:ctclear,1") in new stack
    -- Executing [ctset@macro-dial-one:1] Set("SIP/2042091-00000384", "DB(CALLTRACE/330)=78432921779") in new stack
    -- Executing [ctset@macro-dial-one:2] Return("SIP/2042091-00000384", "") in new stack
    -- Executing [s@macro-dial-one:30] Set("SIP/2042091-00000384", "D_OPTIONS=tr") in new stack
    -- Executing [s@macro-dial-one:31] ExecIf("SIP/2042091-00000384", "0?SIPAddHeader(Alert-Info: )") in new stack
    -- Executing [s@macro-dial-one:32] ExecIf("SIP/2042091-00000384", "0?SIPAddHeader()") in new stack
    -- Executing [s@macro-dial-one:33] ExecIf("SIP/2042091-00000384", "0?Set(CHANNEL(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:34] GosubIf("SIP/2042091-00000384", "0?qwait,1") in new stack
   -- Executing [s@macro-dial-one:35] Set("SIP/2042091-00000384", "__CWIGNORE=") in new stack
    -- Executing [s@macro-dial-one:36] Set("SIP/2042091-00000384", "__KEEPCID=TRUE") in new stack
    -- Executing [s@macro-dial-one:37] Dial("SIP/2042091-00000384", "IAX2/330,"",tr") in new stack
    -- Call accepted by 127.0.0.1 (format alaw)
    -- Format for call is alaw
    -- Called IAX2/330
    -- IAX2/330-439 is ringing
    -- IAX2/330-439 answered SIP/2042091-00000384
  == Using UDPTL TOS bits 184
  == Using UDPTL CoS mark 5
    -- Executing [h@macro-dial-one:1] Macro("SIP/2042091-00000384", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/2042091-00000384", "1?endmixmoncheck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/2042091-00000384", "End of MIXMON check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/2042091-00000384", "1?nomeetmemon") in new stack
    -- Goto (macro-hangupcall,s,28)
    -- Executing [s@macro-hangupcall:28] NoOp("SIP/2042091-00000384", "End of MEETME check") in new stack
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/2042091-00000384", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] NoOp("SIP/2042091-00000384", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:35] GotoIf("SIP/2042091-00000384", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,41)
    -- Executing [s@macro-hangupcall:41] NoOp("SIP/2042091-00000384", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:42] GotoIf("SIP/2042091-00000384", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,45)
    -- Executing [s@macro-hangupcall:45] GotoIf("SIP/2042091-00000384", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,48)
    -- Executing [s@macro-hangupcall:48] GotoIf("SIP/2042091-00000384", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,50)
    -- Executing [s@macro-hangupcall:50] AGI("SIP/2042091-00000384", "hangup.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
    -- <SIP/2042091-00000384>AGI Script hangup.agi completed, returning 0
    -- Executing [s@macro-hangupcall:51] Hangup("SIP/2042091-00000384", "") in new stack
  == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/2042091-00000384' in macro 'hangupcall'
  == Spawn extension (macro-dial-one, h, 1) exited non-zero on 'SIP/2042091-00000384'
    -- Hungup 'IAX2/330-439'
  == Spawn extension (macro-dial-one, s, 37) exited non-zero on 'SIP/2042091-00000384' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/2042091-00000384' in macro 'exten-vm'
  == Spawn extension (from-did-direct, 330, 1) exited non-zero on 'SIP/2042091-00000384'
elastixd*CLI>
T.38 у провайдера включен.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH