[asterisk-users] iaxmodem errors.

Larry Moore lmoore at starwon.com.au
Sat Nov 12 23:42:05 CST 2016


Some additional information which may help you with your installation.

I have 4 IAX Modems named iaxmodem0 - iaxmodem3. I use iaxmodem3 for 
outbound fax transmissions.

I created a queue for the other 3 modems, here is my entry in queues.conf:

    [hylafax-iax]
    strategy=linear
    ringinuse=yes
    autopause=no
    retry=4
    timeout=5
    timeoutpriority=conf
    reportholdtime=no
    joinempty=strict
    leavewhenempty=strict
    musicclass=silence

    member => IAX2/iaxmodem2
    member => IAX2/iaxmodem1
    member => IAX2/iaxmodem0

In case you are wondering about the 'musicclass' I have used, here is 
the section from musiconhold.conf, the actual location of the files may 
be elsewhere on your system:

    [silence]
    mode=files
    directory=/usr/local/share/asterisk/silence
    ; ls /usr/local/share/asterisk/silence
    ; 10.gsm
    ;
    ; The file 10.gsm came from /usr/local/share/asterisk/sounds/en/silence

I changed 'callbackextension' in my sip.conf for the trunk so that it 
would go directly to the 'fax' extension in the dialplan i.e. 
'callbackextension=fax'.

I've included the console output when an incoming fax is received:

       == Using SIP RTP TOS bits 184
         -- Executing [fax at from-itsp:1] NoOp("SIP/itsp-00000044", "Fax
    Detected 2016-11-13 12:33:40 +0800") in new stack
         -- Executing [fax at from-itsp:2] GotoIf("SIP/itsp-00000044",
    "0?3:8") in new stack
         -- Goto (from-itsp,fax,8)
         -- Executing [fax at from-itsp:8] NoOp("SIP/itsp-00000044",
    "Finish if_from-itsp_237") in new stack
         -- Executing [fax at from-itsp:9] GotoIf("SIP/itsp-00000044",
    "0?10:13") in new stack
         -- Goto (from-itsp,fax,13)
         -- Executing [fax at from-itsp:13] NoOp("SIP/itsp-00000044",
    "Finish if_from-itsp_238") in new stack
         -- Executing [fax at from-itsp:14] Set("SIP/itsp-00000044",
    "FAXOPT(gateway)=yes") in new stack
         -- Executing [fax at from-itsp:15] Queue("SIP/itsp-00000044",
    "hylafax-iax,dRt,,,15") in new stack
         -- Started music on hold, class 'silence', on SIP/itsp-00000044
         -- Call accepted by 127.0.0.1 (format alaw)
         -- Format for call is (alaw)
         -- IAX2/iaxmodem2-3086 is ringing
         -- Stopped music on hold on SIP/itsp-00000044
         -- IAX2/iaxmodem2-3086 answered SIP/itsp-00000044
            > 0x89bac000 -- Probation passed - setting RTP source
    address to <ITSP IP Address>:18998
       == Using UDPTL TOS bits 184
         -- Executing [h at from-itsp:1] GotoIf("SIP/itsp-00000044",
    "0?2:3") in new stack
         -- Goto (from-itsp,h,3)
         -- Executing [h at from-itsp:3] NoOp("SIP/itsp-00000044", "Finish
    if_from-itsp_239") in new stack
         -- Executing [h at from-itsp:4] NoOp("SIP/itsp-00000044",
    "Call/Fax Ended 2016-11-13 12:36:41 +0800") in new stack
         -- Hungup 'IAX2/iaxmodem2-3086'
       == Spawn extension (from-itsp, fax, 15) exited non-zero on
    'SIP/itsp-00000044'

I'm sure you've already checked and confirmed you have 'alaw' and 'ulaw' 
codecs permitted in your IAX Modems, iax.conf and sip.conf configurations

To test your configuration you could set it up your environment so that 
you send an outgoing fax to yourself i.e. your dial your number at the 
VoIP provider, this assumes when you dial your VoIP number a connection 
is made back to you, you can then troubleshoot the communication.

This is how I performed the majority of my tests.

Not sure why you haven't explored the option of terminating a fax call 
in Asterisk, you will need some scripts to convert the received image to 
a PDF which is then e-mailed. An offer was made to you to provide 
scripts, if you set this up when your iaxmodem's aren't working a 
fallback will be for Asterisk to accept the call as it falls through, 
one thing you should know, if you use the T.38 Gateway in your dialplan 
you will need to disabled it prior to Asterisk terminating the call. I 
use extensions.ael so here is an example, I've included the macro I use 
to receive a fax in Asterisk:

    context from-itsp {

             s => {
                     NoOp(Call Received ${STRFTIME(,,%F %T %z)});
                     Set(CHANNEL(language)=en_AU);
                     Set(DIALTIMEOUT=30);
                     Progress();
                     NoOp(Call Received from ${CALLERID(name)}, Tel:
    ${CALLERID(num)});
             .
             . other conditions checked and extensions dialled
             .
             };

             fax => {
                     NoOp(Fax Detected ${STRFTIME(,,%F %T %z)});
                     Set(FAXOPT(gateway)=yes);
                     Queue(hylafax-iax,dRt,,,15);

                     Set(FAXOPT(gateway)=no);
    &fax-receive(<TSID>,<Header>,FaxMaster,lmoore);
                     Hangup();
             };

             h => {
                     if ( "X${FAXRXFILE}" != "X" )
                     {
                             &email_rxfax();
                     }
                     NoOp(Call/Fax Ended ${STRFTIME(,,%F %T %z)});
             };
    };

    macro fax-receive( fax-number, header-info, sender, recipient ) {
    /*
             ${ARG1} is Receiving Station Fax Number
             ${ARG2} is Fax Header Information
             ${ARG3} is Fax Sender E-mail Address
             ${ARG4} is Fax Recipient E-mail Address
    */
             NoOp(**** FAX RECEIVE ****);
             Set(FAXOPT(localstationid)=${LOCAL(fax-number)});
             Set(FAXOPT(headerinfo)=${LOCAL(header-info)});
             Set(FROMADDR=${LOCAL(sender)});
             Set(TOADDR=${LOCAL(recipient)});
             NoOp(**** SETTING FAXOPT ****);
             NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)});
             NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)});
             NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)});
             Set(RXSTART=${EPOCH});
             Set(FAXRXPATH=/var/spool/asterisk/fax/received);
             Set(FAXRXFILE=fax-${CALLERID(number)}-${UNIQUEID});
             NoOp(**** RECEIVING FAX : ${FAXRXFILE} ****);
             ReceiveFAX(${FAXRXPATH}/${FAXRXFILE}.tif,f);
             NoOp(**** Subroutine Return ****);
             return;
             };

Cheers,

Larry.


On 13/11/2016 8:07 AM, Larry Moore wrote:
> Is your network/firewall configuration permitting the ports for UDPTL, 
> runn the command:  udptl show config
>
>     UDPTL Global options
>     --------------------
>     udptlstart:      4000
>     udptlend:        4999
>     udptlfecentries: 3
>     udptlfecspan:    3
>     use_even_ports:  No
>     udptlchecksums: Yes
>
> In your sip configuration for your 'mytrunk' peer have you set 
> applicable options e.g.:
>
>     t38pt_udptl=yes,redundancy,maxdatagram=400
>
> In your extensions.conf you could and probably should set the 
> following option prior to dialing the IAX channel, this is to enable 
> the T.38 gateway feature of Asterisk 11:
>
>     Set(FAXOPT(gateway)=yes)
>
> I have it working in my installation however I have incoming voice 
> calls too hence I use 'faxdetect' to direct the call to the 'fax' 
> extension.
>
> Cheers,
>
> Larry.
>
> On 12/11/2016 5:24 AM, tux john wrote:
>> hi. i am using asterisk 11.24.1 in my raspberry. i do have a sip 
>> trunk with a provider with g711a. I am trying to setup a fax server 
>> by following the guide in 
>> http://the-asterisk-book.com/1.6/faxserver.html.
>> i do live in Greece and the number is 00302112152130
>> the problem is that i am getting the following error and i am stuck:
>>   == Using SIP RTP TOS bits 184
>>   == Using SIP RTP CoS mark 5
>>     -- Executing [00302112152130 at fax-in:1] 
>> Dial("SIP/mytrunk-00000001", "IAX2/iaxmodem") in new stack
>>     -- Called IAX2/iaxmodem
>>     -- Hungup 'IAX2/iaxmodem-3818'
>>   == Everyone is busy/congested at this time (1:0/0/1)
>>     -- Auto fallthrough, channel 'SIP/mytrunk-00000001' status is 
>> 'CHANUNAVAIL'
>> RasPBX*CLI>
>> the extensions.conf has
>> [fax-in]
>> exten => 00302112152130,1,Dial(IAX2/iaxmodem)
>> any ideas, please?
>>
>>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20161113/d36a4ef5/attachment.html>


More information about the asterisk-users mailing list