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
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
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/hylafax 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/hylafax/etc/pagermap/
#----- PAGERMAP START ------------- #----- hylafax pagermap /var/spool/hylafax/etc/pagermap ---- # SMS to D1 Handy 0170(.*) 01712521001/49170\1 0171(.*) 01712521001/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/hylafax/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/hylafax/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
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: 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)