NoPaste

NAS Faxlösung mit Asterisk

von Xantorix

SNIPPET_TEXT:
  1. Anleitung zum Aufbau eines Faxdienstes im NAS/ Debianserver zum Faxen von Linuxdesktops im lokalen Netzwerk.
  2.  
  3.  
  4. Es wird asterisk, hylafax und iaxmodem verwendet und alles per Konsole installiert.
  5. Der Asterisk ist hinter einer Fritzbox 7490 als IP Telefon eingerichtet.
  6. Diese Lösung ist nur zum abgehenden Faxen aus dem LAN.
  7. Für Faxe ins Ausland wird ein anderer Anbieter mit günstigeren Preisen in der Box verwendet.
  8.  
  9. Zuerst wird Asterisk installiert.
  10.  
  11. sudo apt update
  12. sudo apt -y upgrade
  13. sudo reboot
  14.  
  15. apt-get install build-essential
  16. apt-get install openssl libxml2-dev libncurses5-dev uuid-dev sqlite3 libsqlite3-dev pkg-config libjansson-dev
  17.  
  18. cd /usr/src/
  19.  
  20. wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
  21.  
  22. tar xvf asterisk-16-current.tar.gz
  23. cd asterisk-16*/
  24.  
  25. sudo contrib/scripts/install_prereq install
  26.  
  27. Ausgabe:
  28.  
  29. #############################################
  30. ## install completed successfully
  31. #############################################
  32.  
  33. ./configure
  34.  
  35. Ausgabe:
  36.  
  37.  
  38. configure: Menuselect build configuration successfully completed
  39.  
  40.                .$$$$$$$$$$$$$$$=..      
  41.             .$7$7..          .7$$7:.    
  42.           .$$:.                 ,$7.7  
  43.         .$7.     7$$$$           .$$77  
  44.      ..$$.       $$$$$            .$$$7
  45.     ..7$   .?.   $$$$$   .?.       7$$$.
  46.    $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
  47.  .777.   .$$$$$$77$$$77$$$$$7.      $$$,
  48.  $$$~      .7$$$$$$$$$$$$$7.       .$$$.
  49. .$$7          .7$$$$$$$7:          ?$$$.
  50. $$$          ?7$$$$$$$$$$I        .$$$7
  51. $$$       .7$$$$$$$$$$$$$$$$      :$$$.
  52. $$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
  53. $$$        $$$   7$$$7  .$$$    .$$$.  
  54. $$$$             $$$$7         .$$$.    
  55. 7$$$7            7$$$$        7$$$      
  56.  $$$$$                        $$$      
  57.   $$$$7.                       $$  (TM)    
  58.    $$$$$$$.           .7$$$$$$  $$      
  59.      $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
  60.        $$$$$$$$$$$$$$$$.                
  61.  
  62. configure: Package configured for:
  63. configure: OS type  : linux-gnu
  64. configure: Host CPU : x86_64
  65. configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
  66. configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
  67.  
  68. make
  69. make install
  70. make samples
  71. make config
  72. ldconfig
  73.  
  74. Rechte setzen:
  75.  
  76. sudo groupadd asterisk
  77. sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
  78. sudo usermod -aG audio,dialout asterisk
  79. sudo chown -R asterisk.asterisk /etc/asterisk
  80. sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
  81. sudo chown -R asterisk.asterisk /usr/lib/asterisk
  82.  
  83.  
  84. Asterisk als user setzen indem ich mit nano die Zeilen mit "AST" ändere.
  85. Danach mit nano die asterisk.conf entsprechend bearbeiten.
  86.  
  87. $ sudo nano /etc/default/asterisk
  88.  
  89. AST_USER="asterisk"
  90. AST_GROUP="asterisk"
  91.  
  92. $ sudo nano /etc/asterisk/asterisk.conf
  93.  
  94. runuser = asterisk ; The user to run as.
  95. rungroup = asterisk ; The group to run as.
  96.  
  97. sudo systemctl restart asterisk
  98.  
  99. Beim booten starten.
  100.  
  101. sudo systemctl enable asterisk
  102.  
  103. Error:
  104.  
  105. radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory
  106.  
  107. Fix bitte die 3 Zeilen ohne Zeilenumbruch eingeben.
  108.  
  109. sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf
  110. sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf
  111. sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf
  112.  
  113. sudo systemctl restart asterisk
  114. sudo systemctl status asterisk
  115.  
  116. reboot now
  117.  
  118. cd /etc/asterisk
  119.  
  120. Sichern der Conf Dateien.
  121.  
  122. mv /etc/asterisk/sip.conf sip.conf.backup
  123. mv /etc/asterisk/extensions.conf extensions.conf.backup
  124.  
  125. Anlegen leerer Conf Dateien.
  126.  
  127. touch sip.conf
  128. touch extensions.conf
  129.  
  130. Mit nano Dateien folgendermaßen füllen.
  131.  
  132. sip.conf
  133.  
  134.  
  135. [general]
  136.  context=unauthenticated
  137.  bindport=5070
  138.  bindaddr=0.0.0.0
  139.  localnet=192.168.17x.0/255.255.255.0               ; Netzwerk und Maske Fritzbox
  140.  nat=force_rport,comedia instead
  141.  allowguest=no
  142.  alwaysauthreject=yes
  143.  qualify=no
  144.  
  145. language=de                                         ; Default language setting for all users/peers
  146.                                                     ; This may also be set for individual users/peers
  147. tonezone=de                                         ; Default tonezone for all users/peers
  148.                                                     ; This may also be set for individual users/peers
  149.  
  150. register => asterisk:geheim@fritz.box/622
  151.  
  152. [622]
  153.  type=peer
  154.  qualify=no
  155.  host=192.168.17x.1                                 ; IP der Fritzbox
  156.  fromdomain=fritz.box
  157.  fromuser=asterisk
  158.  defaultuser=asterisk
  159.  secret=geheim                                      ; Passwort: Ich verwende in asterisk immer das selbe
  160.  insecure=port,invite
  161.  directmedia=no
  162.  disallow=all
  163.  allow=alaw
  164.  allow=ulaw
  165.  context=fritz_in
  166.  
  167.  
  168. extensions.conf
  169.  
  170. [general]
  171. autofallthrough=no
  172.  
  173. [fritz_in]
  174.  exten => 622,1,Goto(siptrunk,${SIP_HEADER(To):11:7},1)                          ;622 ist das als Sip eingerichtete Telefoniegerät in der Fritzbox
  175.  
  176. [siptrunk]
  177.  exten => _X.,1,Dial(IAX2/iaxmodem)
  178.  exten => _X.,n,Hangup
  179.  
  180. [fax_out]
  181.  
  182. ; Festnetz Deutschland im eigenen Vorwahlbereich
  183. exten => _Z.,1,Dial(SIP/*120#${EXTEN}@622,120)                                  ;*120# ist die eingerichtete Rufnummer für Fax
  184.  
  185. ; Festnetz Deutschland außer Vorwahlbereich "01" (Sonderrufnummern und Handy)
  186. exten => _0N.,1,Dial(SIP/*120#${EXTEN}@622,120)
  187. exten => _0049N.,1,Dial(SIP/*120#${EXTEN}@622,120)
  188.  
  189. ; International außer Deutschland
  190. exten => _00X[1-8]Z.,1,Dial(SIP/*1214#${EXTEN}@622,120)                         ;*1214# ist ein Anbieter günstig ins Ausland faxen
  191.  
  192. ; Premium Rate-Dienste verweigern
  193. exten => _0900.,1,Hangup
  194. exten => _0049900.,1,Hangup
  195.  
  196. [unauthenticated]
  197.  
  198.  
  199. Portfreigabe mit nano entsprechend eintragen:
  200.  
  201. nano /etc/asterisk/rtp.conf
  202.  
  203. rtpstart=30000
  204. rtpend=30100
  205.  
  206. reboot now
  207.  
  208. Einbinden iax Modem:
  209.  
  210. cd /etc/asterisk
  211.  
  212. mv iax.conf iax.conf.backup
  213.  
  214. touch iax.conf
  215. nano iax.conf
  216.  
  217. [general]
  218.  bindport=4569
  219.  bindaddr=0.0.0.0
  220.  calltokenoptional=127.0.0.1/255.255.255.0
  221.  
  222. [iaxmodem]
  223.  port=4570
  224.  type=friend
  225.  host=dynamic
  226.  qualify=yes
  227.  secret=geheim                                  ;Mein Passwort für asterisk
  228.  requirecalltoken=no
  229.  disallow=all
  230.   allow=ulaw
  231.  jitterbuffer=no
  232.  trunk=no
  233.  context=fax_out
  234.  
  235. apt-get install iaxmodem
  236.  
  237. touch /etc/iaxmodem/ttyIAX0
  238.  
  239. Mit nano entsprechend füllen.
  240.  
  241. nano /etc/iaxmodem/ttyIAX0
  242.  
  243. device     /dev/ttyIAX0
  244. owner      uucp:uucp
  245. mode       660
  246. port       4570
  247. refresh    60
  248. server     127.0.0.1
  249. peername   iaxmodem
  250. secret     geheim                               ;Mein Passwort für asterisk
  251. codec      ulaw
  252. nojitterbuffer
  253.  
  254.  
  255. sudo systemctl restart iaxmodem
  256. sudo systemctl enable iaxmodem
  257.  
  258. Kontrolle immer mit sudo systemctl status iaxmodem möglich.
  259.  
  260. Installation Hylafax
  261.  
  262. apt-get install hylafax-server
  263.  
  264. faxsetup
  265.  
  266. Wichtige Einstellungen:
  267.  
  268. CountryCode:            49                                   ;Ländercode ohne +
  269. AreaCode:               xxxx                                     ;Vorwahl ohne Null eintragen
  270. FAXNumber:              +49 xxxx XXXXX                           ;Faxnummernformat eigene eintragen
  271. LongDistancePrefix:     0
  272. InternationalPrefix:    00
  273. DialStringRules:        etc/dialrules
  274. SessionTracing:         11
  275. RingsBeforeAnswer:      1
  276. SpeakerVolume:          off
  277. GettyArgs:              "-h %l dx_%s"
  278. LocalIdentifier:        Absendername Firma                  ;Faxkopfangabe eintragen
  279. TagLineFont:            etc/lutRS18.pcf
  280. TagLineFormat:          "Von %%l|%c|Seite %%P von %%T"      ;Kopfzeile in deutsch ändern
  281. MaxRecvPages:           25
  282.  
  283. Modemtest ... Erkennung als Class 1.0 Modem alles bestätigen.
  284.  
  285. Do you want to run faxaddmodem to configure another modem [yes]? no         ;kein weiteres Modem
  286.  
  287. sudo systemctl restart hylafax
  288. sudo systemctl enable hylafax
  289.  
  290. reboot now
  291.  
  292. Client yajhfc bekannt machen. Yajhfc hat eine Installationsanleitung in deutsch auf der Website: https://www.yajhfc.de/
  293.  
  294. sudo faxadduser -a ADMINPASSWORT-p PASSWORT yajhfc
  295.  
  296. Alles mit x oder X mit eigenen Angaben ergänzen und alles mit "geheim" durch ein eigenes Passwort ersetzen.
  297.  
  298.  
  299. Diese Anleitung ist mit viel Hilfe aus diversen Foren entstanden. Besonders mit Usern aus IP-Phone Forum.
  300.  
  301. Viel Erfolg Gruß Xante
  302.  
  303.  
  304.  
  305.  

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN