PDA

Επιστροφή στο Forum : asterisk faxing



atux_null
12-11-16, 11:39
έχω ένα raspberry όπου έχω ένα trunk με cyta. όλα καλά με τηλεφωνία με asterisk 11.24.1, χωρίς gui.
θέλω να στήσω fax to email. έχω δοκιμάσει να ακολουθήσω το http://the-asterisk-book.com/1.6/faxserver.html αλλά όταν η κλήση έρχεται μέσα λαμβάνω το εξής
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [00302112152130@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'
*CLI>


extensions.conf
[fax-in]
exten => 00302112152130,1,Dial(IAX2/iaxmodem)


καμιά ιδέα?

kronos911
12-11-16, 14:54
Τα iaxmodem logs τι λένε?

atux_null
12-11-16, 15:15
ποιό είναι το αρχείο?

kronos911
12-11-16, 16:12
Create a log directory for IAXmodem with mkdir /var/log/iaxmodem/ and the log files with touch /var/log/iaxmodem/ttyIAX0 and touch /var/log/iaxmodem/iaxmodem.

debian:/usr/src/iaxmodem-0.3.0# mkdir /var/log/iaxmodem/
debian:/usr/src/iaxmodem-0.3.0# touch /var/log/iaxmodem/ttyIAX0
debian:/usr/src/iaxmodem-0.3.0# touch /var/log/iaxmodem/iaxmodem
debian:/usr/src/iaxmodem-0.3.0#


10 char long

atux_null
13-11-16, 10:20
καλημέρα. για κάποιο λόγο κάνει registration failure.
root@RasPBX: /var/log/iaxmodem $ more iaxmodem
[2016-11-12 20:58:34] Modem started
[2016-11-13 07:04:05] Terminating...

root@RasPBX: /var/log/iaxmodem $ more ttyIAX0
[2016-11-12 20:58:34] Registration failed.
....
[2016-11-13 07:03:25] Registration failed.
[2016-11-13 07:04:05] Terminating on signal 15...
[2016-11-13 07:04:05] Terminating on signal 1...
root@RasPBX: /var/log/iaxmodem $



root@RasPBX: ~ $ more /etc/iaxmodem/ttyIAX0
device /dev/ttyIAX0
owner uucp:uucp
mode 660
port 4570
refresh 50
server 127.0.0.1
peername iaxmodem
secret mYpaSswoRd
codec alaw
root@RasPBX: ~ $


root@RasPBX: ~ $ more /etc/asterisk/iax.conf
[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
requirecalltoken=no
calltokenoptional=0.0.0.0/0.0.0.0

[iaxmodem]
type=friend
secret=mYpaSswoRd
port=4570
host=127.0.0.1
context=fax-out
disallow=all
allow=alaw
root@RasPBX: ~ $



αυτό που βλέπω είναι ότιμετά από reboot χάνει το ttyIAX0 από το /dev/ttyIAX0 και για να εμφανιστεί χρειάζεται να τρέξω την εντολή iaxomodem.Αλλά και πάλι το ίδιο μήνυμα λάθους λαμβάνω.

kronos911
13-11-16, 14:42
Το παρακάτω είναι το script που έχει το raspbx για την προσθήκη fax extensions. Λόγου ότι έχεις cli asterisk δεν θα σου δουλέψει το τελευταίο κομμάτι που κάνει αυτόματη προσθήκη του εσωτερικού στο freepbx.

Απλά το βάζεις με το χέρι, τον κωδικό του εσωτερικού θα το βρεις στο αρχείο/etc/iaxmodem/ttyI<εσωτερικο>



#!/bin/bash
# RasPBX fax extension config script, version 1.1
# Copyright 2013, Gernot Bauer <gernot@raspbx.org>
#
# This file is part of RasPBX.
#
# RasPBX is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# RasPBX is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.


IAXCONFIGPATH=/etc/iaxmodem/ttyI
HYLAFAXCONFIGPATH=/etc/hylafax/config.ttyI
FAXDISPATCHFILE=/etc/hylafax/FaxDispatch
INITTABFILE=/etc/inittab
SYSTEMDFILE=/etc/systemd/system/faxgetty
ADDEXTSCRIPT=/var/www/html/createext.php

echo RasPBX fax configuration script.
echo The following procedure adds an extension to FreePBX and connects
echo it with HylaFAX. Settings can be changed later by editing the
echo created configuration files.
echo

while [ -z $EXTENSION ]
do
echo -n "Extension number [150]: "
read EXTENSION
if [ -z $EXTENSION ]
then
EXTENSION=150
else
if [ `echo -n $EXTENSION | wc -m` -lt 2 ]
then
echo "Extension numbers must have at least 2 digits."
EXTENSION=
fi
fi
done

if [ -f $IAXCONFIGPATH$EXTENSION -o -f $HYLAFAXCONFIGPATH$EXTENSION ]
then
echo "Fax extension $EXTENSION has been configured previously. Do you want"
echo -n "to overwrite your existing configuration [y/N]? "
read OVR
if [ -z $OVR ]
then
exit 0
fi
if [ $OVR = N ]
then
exit 0
fi
if [ $OVR = n ]
then
exit 0
fi
fi

while [ -z $FAXNUMBER ]
do
echo -n "Fax number: "
read FAXNUMBER
done

while [ -z "$FAXNAME" ]
do
echo -n "Local identifier / fax name: "
read FAXNAME
done

while [ -z "$EMAILRECIPIENT" ]
do
echo -n "Forward received faxes to email address: "
read EMAILRECIPIENT
done

echo -n "Country code [30]: "
read COUNTRYCODE
if [ -z $COUNTRYCODE ]
then
COUNTRYCODE=30
fi

echo -n "Area code [2]: "
read AREACODE
if [ -z $AREACODE ]
then
AREACODE=2
fi

echo -n "Long distance prefix [2]: "
read LONGDISTPREFIX
if [ -z $LONGDISTPREFIX ]
then
LONGDISTPREFIX=2
fi

echo -n "International prefix [001]: "
read INTPREFIX
if [ -z $INTPREFIX ]
then
INTPREFIX=001
fi

PORT=4570
MAXPORT=0
for i in ${IAXCONFIGPATH}*
do
if [ -f $i ]
then
PORTREAD=`grep port $i | sed "s/port //"`
if [ -n "$PORTREAD" ]
then
if [ $PORTREAD -ge $MAXPORT ]
then
MAXPORT=$PORTREAD
let MAXPORT=MAXPORT+1
fi
fi
fi
done
if [ $MAXPORT -gt 0 ]
then
PORT=$MAXPORT
fi
if [ -f $IAXCONFIGPATH$EXTENSION ]
then
PORTREAD=`grep port $IAXCONFIGPATH$EXTENSION | sed "s/port //"`
if [ -n "$PORTREAD" ]
then
PORT=$PORTREAD
fi
fi

SECRET=`cat /dev/urandom | tr -cd "[:alnum:]" | head -c ${1:-32}`

cat > $IAXCONFIGPATH$EXTENSION <<EOF
device /dev/ttyI$EXTENSION
owner uucp:uucp
mode 660
port $PORT
refresh 1800
server localhost
peername $EXTENSION
secret $SECRET
cidname $FAXNAME
cidnumber $FAXNUMBER
codec ulaw
EOF

if [ $? -ne 0 ]
then
echo Error writing $IAXCONFIGPATH$EXTENSION
exit 1
fi

cat > $HYLAFAXCONFIGPATH$EXTENSION <<EOF
CountryCode: $COUNTRYCODE
AreaCode: $AREACODE
FAXNumber: $FAXNUMBER
LongDistancePrefix: $LONGDISTPREFIX
InternationalPrefix: $INTPREFIX
DialStringRules: etc/dialrules.europe
ServerTracing: 1
SessionTracing: 11
RecvFileMode: 0666
LogFileMode: 0600
DeviceMode: 0600
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: "$FAXNAME"
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 175

#
#
# Modem-related stuff: should reflect modem command interface
# and hardware connection/cabling (e.g. flow control).
#
ModemType: Class1 # use this to supply a hint
Class1Cmd: AT+FCLASS=1.0 # command to enter class 1.0
Class1PPMWaitCmd: AT+FTS=7 # command to stop and wait before PPM
Class1TCFWaitCmd: AT+FTS=7 # command to stop and wait before TCF
Class1EOPWaitCmd: AT+FTS=9 # command to stop and wait before EOP
Class1SwitchingCmd: AT+FRS=7 # command to stop and listen for silence
Class1RecvAbortOK: 200 # wait 200ms for abort response
Class1FrameOverhead: 4 # 4 byte overhead in recvd HDLC frames
Class1RecvIdentTimer: 40000 # 35+5secs waiting for ident frames
Class1TCFMaxNonZero: 10 # max 10% of data may be non-zero
Class1TCFMinRun: 1000 # min run is 2/3rds of TCF duration
EOF

if [ $? -ne 0 ]
then
echo Error writing $HYLAFAXCONFIGPATH$EXTENSION
exit 1
fi

USINGSYSTEMD=0
if [ -f /etc/debian_version ]
then
DEBIANVERSION=`cat /etc/debian_version | cut -d '.' -f 1`
if [[ $DEBIANVERSION =~ ^-?[0-9]+$ ]]
then
if [ $DEBIANVERSION -ge 8 ]
then
USINGSYSTEMD=1
fi
fi
fi
if [ $USINGSYSTEMD -eq 1 ]
then
cat > ${SYSTEMDFILE}${EXTENSION}.service <<EOF
[Unit]
Description=FaxGetty Start Modem ttyI$EXTENSION
After=hylafax.service getty.target

[Service]
Type=simple
User=root
Group=root
Restart=always
ExecStart=/usr/sbin/faxgetty /dev/ttyI$EXTENSION
TimeoutSec=0

[Install]
WantedBy=multi-user.target
EOF
if [ $? -ne 0 ]
then
echo Error writing $SYSTEMDFILE
exit 1
fi
else
if [ -f $INITTABFILE ]
then
if [ `grep -c ttyI$EXTENSION $INITTABFILE` -eq 0 ]
then
INITTABID=`echo -n $EXTENSION | cut -b -3`
cat >>$INITTABFILE <<EOF
f$INITTABID:2345:respawn:/usr/sbin/faxgetty ttyI$EXTENSION
EOF
if [ $? -ne 0 ]
then
echo Error adding faxgetty to $INITTABFILE
exit 1
fi
fi
fi
fi

if [ -f $FAXDISPATCHFILE ]
then
if [ `grep -c ttyI$EXTENSION $FAXDISPATCHFILE` -ne 0 ]
then
sed -i "/ttyI$EXTENSION/,+2d" $FAXDISPATCHFILE
fi
sed -i "s/case \"\$DEVICE\" in/case \"\$DEVICE\" in\n ttyI$EXTENSION)\n SENDTO=$EMAILRECIPIENT\n ;;/" $FAXDISPATCHFILE
else
cat >$FAXDISPATCHFILE <<EOF
case "\$DEVICE" in
ttyI$EXTENSION)
SENDTO=$EMAILRECIPIENT
;;
esac
FILETYPE=pdf
EOF
fi
if [ $? -ne 0 ]
then
echo Error adding email recipient to $FAXDISPATCHFILE
exit 1
fi

if [ ! -f $ADDEXTSCRIPT ]
then
cat > $ADDEXTSCRIPT <<EOF
<?php

/*
**************************************************
** Create FreePBX Extension Using
** core_users_add And core_devices_add Functions
** Written By: Samy Antoun
** Usage:
** 1. Create a file anywhere in the web directory
** and copy the content of this file
** 2. In a web browser (or wget), call that file
** with the following variables:
** tech
** extension
** name
** devinfo_secret (SIP and IAX2 only)
** devinfo_channel (ZAP only)
** 3. Examples:
** SIP Extension:
** http://ServerIP/dir/file.php?tech=sip&extension=200&name=Test&devinfo_secret=1234
** IAX2 Extension:
** http://ServerIP/dir/file.php?tech=iax2&extension=200&name=Test&devinfo_secret=1234
** ZAP Extension:
** http://ServerIP/dir/file.php?tech=zap&extension=200&name=Test&devinfo_channel=1
** Custom Extension:
** http://ServerIP/dir/file.php?tech=custom&extension=200&name=Test
** 4. This is a work on progress, use it at your own risk
**************************************************
*/

// Variables - All
\$tech=\$_REQUEST['tech'];
\$ext=\$_REQUEST['extension'];
\$desc=\$_REQUEST['name'];
// Variables - SIP and IAX2 only
\$secret=\$_REQUEST['devinfo_secret'];
\$port=\$_REQUEST['devinfo_port'];
// Variables - ZAP only
\$channel=\$_REQUEST['devinfo_channel'];

// Sanity Check
isset(\$_REQUEST['tech'], \$_REQUEST['extension'], \$_REQUEST['name']) or die("Missing Type, Extension or Description");
!(empty(\$tech) || empty(\$ext) || empty(\$desc)) or die("Type, Extension or Description can't be empty");
// TODO ext must be a number
// TODO if ext is sip or iax2, devinfo_secret should exist
// TODO if ext is zap, devinfo_channel should exist and must be a number

// Build Request String
\$vars="display=extensions&type=setup&action=add&extdisplay=&cid_masquerade=&sipname=&directdid=&didalert=&mohclass=default&outboundcid=&ringtimer=0&callwaiting=enabled&emergency_cid=&devinfo_dial=&faxexten=default&faxemail=&answer=0&wait=0&privacyman=0&dictenabled=disabled&dictformat=ogg&dictemail=&record_in=Adhoc&record_out=Adhoc&vm=disabled&vmpwd=&email=&pager=&attach=attach=no&saycid=saycid=no&envelope=envelope=no&delete=delete=no&options=&vmcontext=default&vmx_state=";
switch (\$tech) {
case "sip":
\$vars.="&hardware=generic&devinfo_dtmfmode=rfc2833&devinfo_canreinvite=no&devinfo_context=from-internal&devinfo_host=localhost&devinfo_type=friend&devinfo_nat=yes&devinfo_port=".\$port."&devinfo_qualify=yes&devinfo_callgroup=&devinfo_pickupgroup=&devinfo_disallow=&devinfo_allow=&devinfo_accountcode=&devinfo_mailbox=";
\$vars.="&devinfo_secret=".\$secret;
\$vars.="&devinfo_deny=0.0.0.0/0.0.0.0&devinfo_permit=127.0.0.1/255.255.255.255";
break;
case "iax2":
\$vars.="&hardware=generic&devinfo_notransfer=yes&devinfo_context=from-internal&devinfo_host=localhost&devinfo_type=friend&devinfo_port=".\$port."&devinfo_qualify=yes&devinfo_disallow=&devinfo_allow=&devinfo_accountcode=&devinfo_mailbox=";
\$vars.="&devinfo_secret=".\$secret;
\$vars.="&devinfo_deny=0.0.0.0/0.0.0.0&devinfo_permit=127.0.0.1/255.255.255.255";
\$vars.="&devinfo_requirecalltoken=no";
break;
case "zap":
\$vars.="&hardware=generic&devinfo_context=from-internal&devinfo_immediate=no&devinfo_signalling=fxo_ks&devinfo_echocancel=yes&devinfo_echocancelwhenbridged=no&devinfo_echotraining=800&devinfo_busydetect=no&devinfo_busycount=7&devinfo_callprogress=no&devinfo_accountcode=&description=&devinfo_mailbox=";
\$vars.="&devinfo_channel=".\$channel;
break;
case "custom":
\$vars.="&hardware=custom";
break;
default:
exit("Type has to be sip, iax2, zap or custom");
}
\$vars.="&tech=".\$tech;
\$vars.="&extension=".\$ext;
\$vars.="&name=".\$desc;
\$vars.="&voicemail=".\$ext."@device";

// Convert Request String to Array
\$arrvars=split("&", \$vars);
foreach(\$arrvars as \$var){
\$arrvar=split("=", \$var);
\$arrreq[\$arrvar[0]]=\$arrvar[1];
}

// Add Extension
define("FREEPBX_IS_AUTH", "1");
include('/etc/freepbx.conf');
include_once('/var/www/html/admin/modules/core/functions.inc.php');

\$_REQUEST=\$arrreq;
core_users_del(\$ext);
core_devices_del(\$ext);

core_users_add(\$arrreq);
\$dial=strtoupper(\$tech)."/";
if(\$tech=="zap")
\$dial=\$dial.\$channel;
else
\$dial=\$dial.\$ext;

core_devices_add(\$ext, \$tech, \$dial, "fixed", \$ext, \$desc, "");
needreload();

?>
EOF
if [ $? -ne 0 ]
then
echo Error writing $ADDEXTSCRIPT
exit 1
fi
fi

wget -q -O /dev/null "http://localhost/createext.php?tech=iax2&extension=$EXTENSION&name=$FAXNAME&devinfo_secret=$SECRET&devinfo_port=$PORT&devinfo_channel=1"
if [ $? -ne 0 ]
then
echo Could not add extension to FreePBX, this has to be done manually.
EXTNOTADDED=1
fi

/etc/init.d/iaxmodem start
/etc/init.d/iaxmodem restart
kill -HUP 1
/etc/init.d/hylafax restart
if [ $USINGSYSTEMD -eq 1 ]
then
systemctl enable faxgetty${EXTENSION}
service faxgetty${EXTENSION} start
else
killall faxgetty
fi

echo
echo Your configuration has been successfully saved to these files:
echo $IAXCONFIGPATH$EXTENSION
echo $HYLAFAXCONFIGPATH$EXTENSION
echo $FAXDISPATCHFILE
if [ $USINGSYSTEMD -eq 1 ]
then
echo ${SYSTEMDFILE}${EXTENSION}.service
else
echo $INITTABFILE
fi
echo
echo You can manually edit these files according to your needs.
echo Re-run this script with a different exension number to add
echo more fax extensions. Re-run it with the same extension number
echo to overwrite your configuration if you need to make changes.
echo
if [ -z "$EXTNOTADDED" ]
then
echo Extension $EXTENSION has been added to FreePBX. Please finish your
echo configuration in FreePBX an click the red Apply Config button.
else
echo Please add the following extension to FreePBX manually:
echo Extension type: IAX2
echo User Extension: $EXTENSION
echo Display Name: $FAXNAME
echo Secret: $SECRET
echo Host: localhost
echo Port: $PORT
echo Requirecalltoken: No
fi
echo

atux_null
13-11-16, 17:42
Καλησπέρα. Σ' ευχαριστώ για την απάντηση. Ωραία σε μία νέα εγκατάσταση asterisk θα τρεξω το script. Τι εννοεί θα προσθέσω με το χέρι? Σε ποιο αρχείο και τι? Να υποθέσω στο extensions.conf το [fax-in] που ανάφερει ο οδηγός?

kronos911
13-11-16, 19:29
Καλησπέρα. Σ' ευχαριστώ για την απάντηση. Ωραία σε μία νέα εγκατάσταση asterisk θα τρεξω το script. Τι εννοεί θα προσθέσω με το χέρι? Σε ποιο αρχείο και τι? Να υποθέσω στο extensions.conf το [fax-in] που ανάφερει ο οδηγός?


Εννοώ ότι θα πρέπει να δημιουργήσεις το IAX extension μόνος σου στο αρχείο iax.conf.

atux_null
14-11-16, 19:39
καλησπέρα, πλέον έχει αλλάξει το μήνυμα σε:
[Nov 14 16:36:10] NOTICE[1084]: chan_iax2.c:8978 update_registry: Restricting registration for peer 'iaxmodem' to 60 seconds (requested 50)
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [00302112152130@fax-in:1] Dial("SIP/mytrunk-00000005", "IAX2/iaxmodem") in new stack
-- Called IAX2/iaxmodem
-- Call accepted by 127.0.0.1 (format alaw)
-- Format for call is (alaw)
-- IAX2/iaxmodem-4234 is ringing
[Nov 14 16:37:06] NOTICE[1080]: chan_iax2.c:8978 update_registry: Restricting registration for peer 'iaxmodem' to 60 seconds (requested 50)
-- Hungup 'IAX2/iaxmodem-4234'
== Spawn extension (fax-in, 00302112152130, 1) exited non-zero on 'SIP/mytrunk-00000005'
RasPBX*CLI>


αυτό είναι προσπαθώντας να λάβω φαξ από μια φαξιέρα ΟΤΕ, όπου αναφέρει ότι το φαξ δεν απαντά.

kronos911
14-11-16, 21:41
Το βράδυ που θα τελειώσω την δουλεία θα σου στείλω και το script που έχει το pi για την εγκατάσταση fax. Ο οδηγός που ακλούθησες είναι για την έκδοση 1,4 του asterisk.

Έως τότε αν έχεις backup για το σημείο πριν ξεκινήσεις με το fax ανέβασε το, αλλιώς στήσε το από την αρχή.

atux_null
14-11-16, 22:33
έχω κάνει νέα εγκατάσταση και έχω asterisk 11.24

kronos911
15-11-16, 01:02
Το παρακάτω είναι το script που έχει το pi για το fax.


#!/bin/bash
# RasPBX fax installation script, version 1.0
# Copyright 2013, Gernot Bauer <gernot@raspbx.org>
#
# This file is part of RasPBX.
#
# RasPBX is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# RasPBX is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

apt-get install iaxmodem hylafax-server
if [ $? -ne 0 ]
then
echo Error installing HylaFAX
exit 1
fi

/usr/sbin/faxadduser root
if [ -f /etc/default/hylafax ]
then
sed -i 's/# USE_FAXGETTY=.*/USE_FAXGETTY=init/' /etc/default/hylafax
fi

echo
echo HylaFAX installation finished. Fax extensions can be added any time
echo by calling:
echo add-fax-extension
echo
echo -n "Do you want to add a fax extension now [y/N]? "
read ADD
if [ -z $ADD ]
then
exit 0
fi
if [ $ADD = N ]
then
exit 0
fi
if [ $ADD = n ]
then
exit 0
fi

add-fax-extension



Σε συνδυασμό με το άλλο script που έδωσα πιο πάνω γίνετε η εγκατάσταση του fax.
Στο αρχείο iax.conf θα βάλεις το παρακάτω για το εσωτερικό που έφτιαξε το add-fax-extension script.


[ESOTERIKO-POY-EDOSES-STO SCRIPT]
deny=0.0.0.0/0.0.0.0
dial=IAX2/ ESOTERIKO-POY-EDOSES-STO SCRIPT
transfer=no
context=from-internal
host=localhost
type=friend
port=APO TO ARXEIO /etc/iaxmodem/ttyI ESOTERIKO-POY-EDOSES-STO SCRIPT
qualify=yes
secret=APO TO ARXEIO /etc/iaxmodem/ttyI ESOTERIKO-POY-EDOSES-STO SCRIPT
permit=127.0.0.1/255.255.255.255
requirecalltoken=no
callerid=FAX001 < ESOTERIKO-POY-EDOSES-STO SCRIPT >
setvar=REALCALLERIDNUM=


Σαν general κομμάτι στο iax.conf εκτός από τα δικάσου θα βάλεις και τα παρακάτω (ότι είναι διπλό αφαιρείται και μένει μόνο μια παράμετρος)


mailboxdetail=yes
tos=ef
disallow=all
allow=alaw
calltokenoptional=0.0.0.0/0.0.0.0
maxcallnumbers=16382
requirecalltoken=no
codecpriority=host
language=gr
delayreject=no
jitterbuffer=no
maxregexpire=3600
minregexpire=60


Παρακάτω είναι το κείμενο από το raspberry-asterisk.org documentation σχετικά με το fax.


Advanced Topics
1. Fax gateway

Fax gateway support in RasPBX is provided by HylaFAX, an optional feature which needs to be installed manually by calling:

install-fax

This command is added with upgrade #5, see the downloads page for details. Make sure you have been running raspbx-upgrade and your system is up to date, otherwise this command is not available.

After installation is complete, you can configure a fax extension at your choice. This can also be skipped and done later by calling:

add-fax-extension

This is configuring HylaFAX, Iaxmodem and FreePBX. An additional extension is added to FreePBX which can be used as inbound destination for your fax DID. Faxes to this extension will be emailed to the address specified during the add-fax-extension run.

It is possible to have as many fax extensions as required by calling add-fax-extension multiple times. Each extension can me mapped to a different email address, thus having several virtual fax machines with different recipients.

For sending faxes, any HylaFAX client such as Winprint HylaFAX or any other can be used. A complete list can be found here:
http://www.hylafax.org/content/Desktop_Client_Software

The default user to connect to HylaFAX is root with empty password.


Στο εξής οποία εισερχόμενη κλήση έρθει και είναι fax απλά το προωθείς στο εσωτερικό που έκανες, είτε κατευθείαν από το dialplan είτε με attended/blind transfer από τις συσκευές σου.

atux_null
15-11-16, 09:41
kropos911 σ' ευχαριστώ πολύ για τον χρόνο σου.
κάτι κάνω λάθος όμως και μου σκάει. περιγράφω τι έχω κάνει.
σε raspberry κάνω μια νέα εγκατάσταση asterisk από source, χωρίς gui. κατόπιν από source βάζω το iaxmodem έκδοση 1.3.0 και από repository hylafax-server.
κατόπιν τρέχω το script (post #6) και μετά τις ρυθμίσεις όπως έγραψες στο post #12.
κάτι κάνω λάθος.
το έχω όλη νύχτa που το προσπαθώ και έχω κάνει 3 φορές clean install.

kronos911
15-11-16, 12:55
kropos911 σ' ευχαριστώ πολύ για τον χρόνο σου.
κάτι κάνω λάθος όμως και μου σκάει. περιγράφω τι έχω κάνει.
σε raspberry κάνω μια νέα εγκατάσταση asterisk από source, χωρίς gui. κατόπιν από source βάζω το iaxmodem έκδοση 1.3.0 και από repository hylafax-server.
κατόπιν τρέχω το script (post #6) και μετά τις ρυθμίσεις όπως έγραψες στο post #12.
κάτι κάνω λάθος.
το έχω όλη νύχτa που το προσπαθώ και έχω κάνει 3 φορές clean install.

Δοκίμασε το repository iaxmodem, εκτός εάν δεν κάνεις compile και το sapndsp που είναι μαζί με το iaxmodem.
Εάν καλέσεις από άλλο εσωτερικό το εσωτερικού το iax ακούς τους τόνους fax?

atux_null
15-11-16, 16:27
εδώ αρχίζει το μπλέξιμο και το thread μεγαλώνει απίστευτα και χάνεται η υπομονή σου. Παρόλα αυτά σ' ευχαριστώ για την μέχρι τώρα υπομονή σου.

όλες οι προσπάθειες γίνονται σε clean install. μέσα στις πολλές προσπάθειες δοκίμασα να κάνω από source το compile του asterisk και από source το iaxmodem. σε άλλη προσπάθεια έκανα apt-get install iaxmodem hylafax-server και μου φέρνει και τον asterisk μαζί και μου τα κάνει μαντάρα.
τόνο φαξ δεν ακούω ποτέ. πάντω έχω ringing χωρίς τόνο φαξ.

τώρα έκανα clean install asterisk και iaxmodem από source.τα δοκιμασα εκ νέου χωρίς να έχω τόνο φαξ.

codezero
15-11-16, 18:31
Καλησπέρα atux_null,

Όταν κάνεις εγκατάσταση το iaxmodem, η υπηρεσία ξεκινάει κανονικά?

Μπορείς να κάνεις post τα βήματα της εγκατάστασης;

atux_null
15-11-16, 20:34
μετά την εγκατάσταση του asterisk από source πηγαίνω στο /usr/src και κάνω:


wget http://downloads.sourceforge.net/iaxmodem/iaxmodem-1.3.0.tar.gz
tar -xvzf iaxmodem-1.3.0.tar.gz
cd iaxmodem-1.3.0
./configure
make
cp iaxmodem /usr/bin/ && mkdir /etc/iaxmodem
cd /etc/iaxmodem/ && touch ttyIAX0
vi /etc/iaxmodem/ttyIAX0

και περνάω τα εξής:


device /dev/ttyIAX0
owner uucp:uucp
mode 660
port 4570
refresh 50
server 127.0.0.1
peername iaxmodem
secret password
codec alaw


κατόπιν στο /etc/inittab προσθέτω τα:
IA00:23:respawn:/usr/bin/iaxmodem ttyIAX0
mo00:23:respawn:/usr/local/sbin/faxgetty ttyIAX0

IA00:23:respawn:/usr/bin/iaxmodem ttyIAX0
mo00:23:respawn:/usr/local/sbin/faxgetty ttyIAX0



mkdir /var/log/iaxmodem && cd /var/log/iaxmodem/ && touch ttyIAX0 && touch iaxmodem


κατόπιν επανεκκίνηση.
στο
/dev
δεν βλέπω ποτέ το ttyIAX0 μετά από επανεκκίνηση εκτός αν τρέξω πρώτα
iaxmodem
κατοπιν περνάω το hylafax με
apt-get install hylafax-server -y


κάτι χάνω, αλλά που?

codezero
15-11-16, 22:01
Τι έκδοση debian έχεις περάσει;


nano /etc/init.d/iaxmodem

και βάζεις:


#! /bin/sh
#
### BEGIN INIT INFO
# Provides: iaxmodem
# Required-Start: $syslog $local_fs $network
# Required-Stop: $syslog $local_fs $network
# Should-Start: asterisk
# Should-Stop: asterisk
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Software modem with IAX2 connectivity
# Description: Use this software modem with Asterisk or another
# IPBX with IAX2 connectivity to send and receive
# faxes over VoIP.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/iaxmodem
DAEMON_OPTS=ttyIAX
NAME=iaxmodem
DESC=iaxmodem

test -x $DAEMON || exit 0

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
restart)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
sleep 1
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
status)
if [ -s /var/run/$NAME.pid ]; then
RUNNING=$(cat /var/run/$NAME.pid)
if [ -d /proc/$RUNNING ]; then
if [ $(readlink /proc/$RUNNING/exe) = $DAEMON ]; then
echo "$NAME is running."
exit 0
fi
fi

# No such PID, or executables don't match
echo "$NAME is not running, but pidfile existed."
rm /var/run/$NAME.pid
exit 1
else
rm -f /var/run/$NAME.pid
echo "$NAME not running."
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|status}" >&2
exit 1
;;
esac

exit 0

μετά τρέχεις
/etc/init.d/iaxmodem restart

και βλέπεις το αποτέλεσμα
ps -ef | grep iaxmodem

πρέπει να σου βγάλει κάτι τέτοιο uucp 1234 1 0 00:00 ? 00:00:00 /usr/bin/iaxmodem ttyIAX0.

atux_null
15-11-16, 23:15
τρέχω raspbian

root@RasPBX: ~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie
root@RasPBX: ~ $

ΟΚ το έβαλα το /etc/init.d/iaxmodem τώρα τι άλλο χρειάζεται για να έχω τόνο φαξ?

codezero
16-11-16, 00:31
τρέχω raspbian

root@RasPBX: ~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie
root@RasPBX: ~ $

ΟΚ το έβαλα το /etc/init.d/iaxmodem τώρα τι άλλο χρειάζεται για να έχω τόνο φαξ?

εάν τρέχει σωστά το iaxmodem,

στο /etc/asterisk/iax.conf

βάζεις τις ρυμίσεις που σου έχει γράψει εδώ (http://www.adslgr.com/forum/threads/964107-asterisk-faxing?p=6055283#post6055283) ο @Kronos911, (όπου διπλές εγγραφές τις αφαιρείς) δηλαδή


mailboxdetail=yes
tos=ef
disallow=all
allow=alaw
calltokenoptional=0.0.0.0/0.0.0.0
maxcallnumbers=16382
requirecalltoken=no
codecpriority=host
language=gr
delayreject=no
jitterbuffer=no
maxregexpire=3600
minregexpire=60

[iaxmodem]
deny=0.0.0.0/0.0.0.0
dial=IAX2/iaxmodem
transfer=no
context=from-internal
host=localhost
type=friend
port=4570
qualify=yes
username=iaxmodem
secret=password
permit=127.0.0.1/255.255.255.255
requirecalltoken=no
callerid=FAX001 <iaxmodem>
setvar=REALCALLERIDNUM=

στο extensions.conf, πρέπει να βάλεις το extension στο οποίο θα χτυπάει το φαξ.


[fax-in]
exten => 12345678,1,Dial(IAX2/iaxmodem)
exten => 12345678,n,Hangup

*όπου 12345678 το νούμερο του extension για την κλήση του φαξ (το εσωτερικό με λίγα λόγια) που αν καλέσεις πρέπει να κάνει ήχο φαξ. Αυτά μετά τα ρυθμίζεις ανάλογα και τις ανάγκες σου.

Αν δουλέψει σωστά, βάζεις το Hylafax.

- - - Updated - - -

Αν με τα παραπάνω δουλέψει, είναι πιό εύκολο αν θέλεις, να αλλάξεις στο ttyIAX0 το
peername iaxmodem
σε
peername 1234

και στο iax.conf, να αντικαταστήσεις τα iaxmodem εδώ:
[iaxmodem]
dial=IAX2/iaxmodem
username=iaxmodem
callerid=FAX001 <iaxmodem>

με 1234 επίσης.

*Όπου 1234, ο αριθμός extension (εσωτερικού) που θα θέλεις για το φαξ σου, για να δουλέψεις μετά καλύτερα τα inbound routes (όπως το fax-in παραπάνω) στο νούμερο του σταθερού σου.

atux_null
16-11-16, 12:11
καλημέρα. αυτό έχω και εγώ από πλευράς config. αλλά τόνο fax δεν λαμβάνω
το πρόβλημα που δεν ξεκινά το iaxmodem εξακολουθεί.

root@RasPBX: /dev $ ls | grep ttyI
root@RasPBX: /dev $ /etc/init.d/iaxmodem restart
Stopping iaxmodem: iaxmodem.
Starting iaxmodem: iaxmodem.
root@RasPBX: /dev $ ls | grep ttyI
root@RasPBX: /dev $ iaxmodem
root@RasPBX: /dev $ ls | grep ttyI
ttyIAX0
root@RasPBX: /dev $

puntomania
26-02-17, 02:37
Γιατί δεν βάζεις το raspbx... που τα έχει όλα μέσα... και σχεδόν έτοιμα?

@ ADSLgr.com All rights reserved.