Asterisk can not send fax via T.38

asteriskfax

I am a newer on asterisk. when I tried to send fax, I can not get success.
After doing a lot of reseach, I decide to ask my question at here.

I hope someone could give me some idea to correct my configuration. finally, I want my system can send fax via t.38.

Thanks a lot!

Here is the detail:

my system: ubuntu 14.04 + asterisk 11.7

I use apt-get to install the ubuntu default version of asterisk 11.7.
for easy debug, I just change a few param value with the default version

sip.conf

t38pt_udptl = yes,redundancy,maxdatagram=400
faxdetect = yes

extension.conf

[sendFAX]
exten => s,1,VERBOSE(sending fax...)
exten => s,n,Set(FAXOPT(headerinfo)=Fax from a Demo test)
exten => s,n,SendFAX(/tmp/demo.tiff,f)
;I get demo.tiff file from "$ gs -q -dNOPAUSE -dBATCH -sDEVICE=tiffg4 -sPAPERSIZE=letter -sOutputFile=<dest> <src>"
exten => s,n,VERBOSE(ok!)
exten => s,n,Hangup

I use AMI to originate a fax call. In the CLI, everything looks well. I didn't get any error message.
When I use wireshark to check the detail of this comunication, I found Asterisk used G711 instead of using T.38 which is expected.

however, at the receiver end, I didn't receive the fax, and I just got a error "Dcn No Dis"

After a research, I got this:

T.30 Fax Signaling Messages
In a Voip fax call, T.38 packets are preceded and succeeded by T.30 fax signaling messages. These messages include:

  1. DIS: Digital Identification Signal indicating terminating fax capabilities (for example, data rate)
  2. DCS: Digital Command Signal indicating transmission mode that will be used by originating fax (for example, transfer rate)
  3. TCF: Training Check Sequences (sent for 1.5 seconds)
  4. CFR: Confirmation To Receive indicating the receiving fax is ready to receive the document
  5. MPS: MultiPage Signal (sent after each page if more than one page is sent)
  6. MCF: Message Confirmation indicating the page was received
  7. EOP: End Of Procedure message indicating there are no more pages to be sent
  8. DCN: Disconnect message

Additional optional messages:

1.CSI: Called Subscriber Identification

2.TSI: Transmitting Subscriber Identification

But I am still confused with what "Dcn No Dis" means what's wrong with my asterisk system.

I am sure of these:

  1. the receiver is working well.
  2. My ISP provider is fully support fax termination both in g711 and
    t.38
  3. My testing server is not behind any firewall.

The demo.jpg is my wireshark's screenshot. form 19 to 1841, all traffic are RTP package.

The t.38 png diagram illustrates is a typical fax call.

Best Answer

Main issue with t.38 are following

1) by default asterisk compliled without spandsp support, so no t.38

2) even if you comiled that, you t38udpl line have be EXACT same as provider expect. Any single param mistake can result not working t.38

3) on outbound call t.38 have be initiated by CALLED side. So if your provider NOT detect fax or NOT ask asterisk switch to t.38, asterisk will not do that.

4) Origination of t.38 have be done using some variables(T38CALL=1 in asterisk 1.8,not checked what is in 11 version) and using provider's section, not ip.

http://www.voip-info.org/wiki/view/Asterisk+T.38

DISCALIMER: T38 calls are one of most complex part of asterisk, more complex only two topics - h323 video calls and webrtc.

Related Topic