HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Hylafax and Sendpage Howto

Hiello everyone,

after an 2 week ordeal trying to get SMS support working with hylafax and
the three major german Cell Phone providers i was finally sucessful.
I have now written an little Howto on how to accomplish this.
The Howto specifically targets people intending to do it in germany, but
the process (if not the details) should be generally applicable.

Keep in Mind that this is the first version, it has neither been properly
formatted nor been  been proofread, and is guaranteed to be full of
mistakes etc... :-)

Any comments, Improvements etc welcome

Arne Hueggenberg
Products & Development
* ID-PRO GmbH Arnsberg
* Tel: +49 (0)2932 - 916 - 0
* Fax: +49 (0)2932 - 916 - 230
* mailto:hueggenberg@ID-PRO.de
* http://open-for-the-better.com
* CeBIT Hannover Halle 4, Stand E032 / 312 
Howto Send SMS with Hylafax in Germany

History: 23.2.00  Initial Version

Scope of this Document:	This Document aims to be a help tp people who intend to setup Hylafax for Sending SMS messages in germany
			The Information included herein may also be helpful in general Setup of Hylafax for sending SMS messages
			as many of the Problems and Solutions described herein are of a general nature

Prerequisites: 	The author assumes that the reader has sucessfully installed hylafax and is able to send faxes, as no help for
		general setup will be provided
		It is assumed that the Reader has an well functioning modem (something like the pair of elsa 33.6TQV im using)
		as fiddling with the modem setup commands to get it to behave as expected is not covered here (my 33.6TQV worked
		with hylafax out of the box)

Assumptions: 	The Author assumes that Hylafax is installed with /var/spool/fax as spooling directory 

First we ensure that Hylafax is running with SNPP (Simple Network Paging Protocol) Support
For that to work you'll have to start Hylafax with the -s 444 option in addition to any others you already have

Then well have to setup an configuration file for sendpage to get its alias to pagernumber mappings from:
the pagermap file is consulted by the sendpage Program to map the user supplied PIN to an SMSC/phonenumber group
There are two ways to accomplish this:
First of all you can define aliases, enabling to do a sendpage -p someone thus yielding easy to remember PINs

The other possibility is to use regex matching (in my eyes the preferable solution, as SMS messages will, as a rule, 
be generated by the server to notify people of unusual events, thus rendering the remeberability void)
here we match the phone number  part of the number using the static part of the number (in germany for example the 0172 for the provider D2) to know wich SMSC 
to contact then later expand the 'provider' stub with the receivers number (wich we matched earlier)
For more information on how this works and on how to expand this mechanism for your specific needs see the manual page for pagermap 

Following find an example for an pagermapfile

example for /var/spool/fax/etc/pagermap/
	    #----- PAGERMAP START -------------
            #----- hylafax pagermap  /var/spool/fax/etc/pagermap ----
            # SMS to D1 Handy
	    0170(.*)        01712092522/49170\1
	    0171(.*)        01712092522/49171\1

	    #SMS to E-Plus Handy
	    0177(.*)        01771167/49177\1

            #SMS to D2 Handy
 	    0172(.*)        01722278020/0049172\1
	    #example for an mapping of name to number
	    #someone        01712092522/49170xxxxxxx

	    #SMS to VIAG Handy
	    # not possible at the moment 
	    # according to Viag Tech support Viag doesent currently offer
	    # its customers the possibilty of directly calling the SMSC
	    # thus it is not possible to send SMS to Viag handys
	    # They plan to offer this in the future though                             
	    #----- /var/spool/fax/etc/pagermap  ------
	    #------- PAGERMAP END ------------

IMPORTANT: the 00 after the / in the D2 mapping is correct, if it isnt there sending to D2 wont work, dont know why but thats how it is

IMPORTANT: there must be NO trailing spaces after the mappings, if there are the SMSC will accept the SMS Messages but not deliver it

Now that we have set up our pagermap we try to send an SMS to each of the providers (D1, D2, e-plus) (e.g. 'sendpage -p D1number test' or similar)
These will fail but we still need to do it as we need the files in /var/spool/fax/info/ generated by our calls

Now that we have called (and subsequently failed) contacting the SMSC's there should be an file for each of the SMSC's numbers in the info dir of the 
hylafax installation.
What we do now is add  &pagerTTYParity:"none"  to the files named after the D1 and e-plus numbers
this is to set the call to N-8-1 parity instead of the 7-E-1 as is the default, this is the parity the german providers use

Then we add  &pagerTTYParity:"none"  and  &pagingProtocol:"ucp" to the file named after the number of the D2 SMSC
This is to tell sendpage to use the UCP (instead of the standard IXO protocol) when talking to D2 and to change the parity to N-8-1 (see above)

Now sending of SMS should work.
If not check your Pagermap and the info files and see if you correctly added the extensions mentioned above

All this was done on a stock RH 6.1 system with Hylafax4.1Beta2 and two ELSA TQV 33.6 Modems

Q: The log shows that the SMS is sent correctly, but it never gets delivered to the adressed cell phone
A: check for trailing spaces in the pagermap file

Q: when calling the SMS Call Center (D1, D2, E-plus) i get an 'No initial ID response paging central'
A: check the file for the Call Centers Number in hylafax info dir, there should be an option &pagerTTYParity:"none" in there
   if there isnt add it and try again

Q: when calling D2 i get an 'No initial ID response from paging central' but i have added &pagerTTyParity:"none" to the file in info
A: check if you have added &pagingProtocol:"ucp" to the info file

Q: The Call Center is rejecting my messages Blocks
A: check if you are really sending plain ASCII files, this happened to me when working with templates generated on an windows box and it turned out
   the templates werent plain ASCII

Arne Hueggenberg (hueggenberg@ID-Pro.de)

Project hosted by iFAX Solutions