Release Notes Version 6.0



New features


SMTP protocol

For outgoing SMTP connections, communication via SSL and startTLS is possible. Also with authentication via user name and password.
The procedures LOGIN, PLAIN and CRAM-MD5 are supported.
New test programme (sgrestest -S) for SMTP communication to the mail server.

New configuration variables:

SG_SMTYPE=smtp (default Port 25), smtps (465) or starttls (587)

SG_SMCERT=/path/to/cacert-file (for ssl/tls)

SG_SMUSER=used for authentication and authorization, if requested

 SG_SMPWD=password for authentication

LDAP protocol

Support for ldaps and startTLS in SMTP gateway and gendrv for directory query.

New configuration variables:

SG_LDTYPE=ldap (default), ldaps oder startTLS
Default port is set to 636 for ldaps, otherwise to 389

New driver for SMS

gendrv/smppdrv for sending SMS via SMPP protocol.
$FAXROOT/etc/ to set up the driver

Other new features


If the capi manufacturer TE-SYSTEMS is recognised (XCAPI) and the additional parameter lca is set, e.g. lca="4989"(country code and national prefix), the sender and recipient numbers are converted to the international format with '+' when sending, e.g. +4989...

Fix: If lca is given and the sender number is empty, it remains empty.


gdrestest has a new switch -c (continuous), which can be used to perform tests over a longer period of time.


gendrv reads GD_LDTYPE, GD_LDCERT or the corresponding SG_ variables.



Fix for gendrv contacting multiple LDAP servers.

PAPAGENO Adminstrator
(ran on some Windows systems without icons and crashed)

Replacement of VisualBasic5 components by VB6 components, i.e. comctl32.ocx and comct232.ocx replaced by mscomctl.ocx mscomct2.ocx, also the DLLs of the same name. This solves display problems, often in connection with Remot eDesktop.



SMTP-Gateway, Aging

A record will be removed if sgrest -d does not find a FaxLineId.

Gendrv, LDAP

If a TSI is found in LDAP during reception, it is used as CSI even without a script engine.


When rotating in the sub-second range, the file is located in the correct directory and is therefore also cleaned up



For all RPC servers and RPC clients, the number of file handles is limited to the number available at compile time

All RPC servers answer quickly to repeated requests (TCP_NODELAY).

If the portmapper is not reachable, the rpclib returns a timeout after 3 seconds

Updated versions of external libraries

tifflib, LDAPlib, giflib.

Sandbox (Linux systems only)

The file /papageno_sandbox is used to prove that a process is running in the sandbox.

sandboxrun switches to CHROOT/getcwd () to preserve the working directory.

In the sandbox only the subdirectories gateway, daemons, pi and driver/gendrv are writable.
Write protection in the sandbox only exists for sufficiently new kernels that support 'mount -o remount,bind,ro '.

All servers with logbook and _kzg

Lines with more than 80 characters are wrapped. The continuation line is indented by 2 blanks.

Alpha Server

Fix for waiting list management when very many documents are sent to the same number (waiting queue contains more than 32000 pages).

a_tra_str fixed for very long strings (maximum 255 characters).

The logbook now says "not found" if a_get_usrconf_new cannot find a name.  It used to say "not ok".

New interface for the Alpha to query o_get_group.

The document logbook of the automatic copy for incoming documents contains the original fax (formerly only for sending documents).

Fix for forwarding to default user comfax@alphahost because the recipient list is empty.

Removed a warning when transferring incoming documents to the alpha.

Fix for a crash on shutdown.

Line break in a_get_kzg for a_get_s_rec_new_ll.

Omega Server

The logbook now shows "empty" if o_get_config does not find a name or the entry is empty (empty string). So far it said "ok".

Gamma Server

With tcp, larger packets (4k) are transmitted.

Lambda Server

The Lambda server starts the new Phib server when python runtime is installed.

The Lambda server starts only one instance.

No procmon processes are started any more, the lambda monitors its child processes itself.

Processes whose start is delayed are now displayed correctly (active).

The Lambda server no longer hands down the file handle for nohup.out to the processes started by itself (Windows).

If applicable, the lambda sends a kill signal to the process group so that child processes that are created by e.g. shell scripts, are also terminated (Linux and Unix).

For daemon processes, the system searches for DM_LCMD, DM_LCMD0, DM_LCMD1,...  until the series terminates, last parameter is DM_LCMD99.
If DM_LCMD exists, the process defined here is started. A '\' at the end of the line acts as a continuation character, otherwise each further config parameter is appended with a blank and acts as a process argument.

The connection to a Remote Omega will be re-established if necessary. A crash with l_startdrivers has been fixed.

If the remote Omega server is not accessible, the Lambda remains addressable.

If the Omega server is not reachable, the Alpha server will not be started.

The status change of the processes is indicated in the monitor.

For Sandbox (Linux systems only): The Pi server, the SAP gateways and all daemon processes are also started in the sandbox.
Processes entered in trusted.list are started outside the sandbox  (e.g. xmlpostman).

New server Phib (optional)

The Phib server accepts requests via HTTP, converts them into RPC calls from the Papageno server and returns the result via HTTP.
Default port 8888.

Implementation in Python 2.7, the required runtime is included in the optional package.

Pi Server

Uncompress is included, so all printers can be used on Windows.
Even in special cases, all documents in pi/e are deleted after printing.

Sapconnect Gateway

The intermediate process sapcgw was removed, no more files in sapconnect/log.

install_sap no longer offers the obsolete SAPcomm Interface.

Significantly fewer logs of initialization and idle actions.

Fix for core dump when Alpha is unreachable.

Fix for scratch document that has been left lying down, if a_sende is not successful.

Longer user and password strings possible (maximum 100 or 256 characters).

Server and client processes catch SIGTERM and exit.

The tracelib is fully used (append, rotate).

SMTP Gateway

For SMS, the redial (retries) is preset to 1 (see faxpspr).

If a document cannot be delivered and cannot be sent to the administrator, the administrator is immediately notified by a short mail.

A new delivery attempt is logged in the document logbook (hourly).

Once a day, a report is sent to the administrator if documents are left permanently.

If the gateway has nothing to do or if problems occur, the gateway asks for tasks much less frequently.
Configuration variables are SG_MINIDLE, SG_MAXIDLE, SG_MINESLP, SG_MAXESLP.

If the conversion of a document takes longer than one hour (SG_DMP3TO), the document is moved to OutgoingFailed and the administrator is notified.
Such jobs no longer loop.

The logbook entries of the aging process provide more information.

SG_CPI_CSK and SG_TSI_CSK are always calculated correctly.

Fixed SMS length for utf-8 character set.

Fix for a crash  on conversion (very large bitmap).

cvtlib (for SMTP and SAPconnect gateway)

For document conversion on Windows, a whitelist of file extensions for which conversion is possible can be specified.
If a whitelist exists, all unknown extensions are rejected.
The whitelist is defined in SG_ATT: extension,-
e.g.  SG_ATT0 doc,-
        SG_ATT1 docx,-
If no whitelist is defined, all files are transferred to Windows as before.

If the conversion is only partially successful, no desktop document remains.


Fix for a coredump with the -v option when SG_SMSHFMT is set.


The LDAP query whether a line has been assigned is now executed without language and dialog. If the parameters are changed, the driver must be restarted.

If an error in LDAP communication occurs and GD_LDR2T=0 is set, the call is not accepted.

gendrv/screxe is started in the sandbox.

Generally, gendrv/screxe does not communicate with the Omega server anymore.
If a group is set in the distribution rule, the alpha server must be new (compat >=16), otherwise the omega is required.

The driver is no longer started indirectly via rcx, rcx is no longer required.

gendrv/capidrv has now preset two numbers for SMS tracffic via Materna:
             00499003266900 (as smsc2) and 09003266900 (as smsc3)
UC2 encoding is decrypted on reception.

gendrv/capidrv recognizes capi manufacturer Sangoma (formerly Eicon)


New commands:

  • l_get_pstat <cmd> returns True, if the associated process is active.
  • a_get_o_group a_get_o_group outputs the information from o_get_group.
  • o_del_pi


  • a_exp_dok can export type voc (for use in gendrv/data).
  • o_apply_ron/a_apply_ron displays all routing information with the new option -s 1.
  • a_find_do has new parameter %F (original faxid) for the automtic copy of incoming docs.
  • l_startdaemon/l_stopdaemon accept up to 63 characters if the l_startdaemon64 command is supported by the Lambda server.


  • a_get_s_rec_new_ll: Fix for selection 6.
  • o_cmd no longer contains the group of o_dbcheck_ functions, they are alreadycontained in o_cmd_spec.
  • Output of o_get_pi, o_get_pi_ll fixed.
  • p_write_log works on Windows.
  • a_get_uc_ll: Fix for crash in case of an incorrect call.
  • a_sync, o_sync exit with error status if problems arise.
  • o_dbcheck_faxl, o_dbcheck_pr, o_dbcheck_grl: fix empty sets.
  • l_stopgateway <sap instance> corrected, false warning removed.


Fix in  error message.

The IMAP login password is no longer displayed.

If the alpha is up to date (compat>=16), no Omega connection is used anymore.


For SMS, redialing (retries) is preset to 1.

Only one line is created in the Lambda Monitor per document if no errors occur.

Sandbox information is output in debug mode only.

Papageno Administrator

Deleting an LCR entry removes all related entries from the Omega configuration.

Papageno users who start with digits will no longer get an error in the list selection.

fax-adm, comfax-adm

Fixed occasional crash when viewing the monitor.

dump_lcr is installed directly in Windows and Linux. For other operating systems it is still available as a tool.

xmlpostman is installed directly in Linux. is available for setting up as a daemon.

If exitOnError is set, xmlpostman terminates when an error occurs.
xmlpostman no longer needs the system library libexpat.


If the Phib server is installed, there is also a daemon that joins multi-part SMS together. It evaluates the Omega configuration variable GD_SMSUSER and processes the documents of this alpha user (see gendrv

The Tracelib no longer inherits file descriptors.

The functions of the rpclib have private names and therefore cannot be inadvertently replaced by functions of the libc.


Fewer queries during install_fax, update_fax.


bin/cfenv is no longer included, because it is useless.

ExchangeConfig renamed and improved

The external IP address is determined for the gateway.

If the smart host has no MX entry, the IP address is used instead.