dialrules man page on BSDOS

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDOS logo
[printable version]



DIALRULES(5F)					    DIALRULES(5F)

NAME
       dialrules - HylaFAX dial string processing rules

DESCRIPTION
       A dial string specifies how to dial the telephone in order
       to reach	 a  destination	 facsimile  machine,  or  similar
       device.	 This string is supplied by a user with each out-
       going facsimile job.  User-supplied dial strings	 need  to
       be  processed in two ways by the HylaFAX server processes:
       to craft a canonical phone number for use in locating  the
       receiver's  capabilities, and to process into a form suit-
       able for sending to a modem.  In addition client	 applica-
       tions  may  need	 to process a dial string to formulate an
       external form that does not  include  private  information
       such  as	 a credit card access code.  Phone number canoni-
       calization and dial string preparation are done	according
       to dial string processing rules that are located in a file
       specified in the server configuration file; see the  Dial-
       StringRules parameter in config(5F).  The generation of an
       externalized form for a dial string is done by rules  that
       optionally appear in /usr/contrib/lib/hylafax/dialrules on
       client machines.

       A dial string rules file is an ASCII file  containing  one
       or  more rule sets.  A rule set defines a set of transfor-
       mation rules that  are  sequentially  applied  to  a  dial
       string.	 Each  rule set is associated with an identifier,
       with certain well-known identifiers being used by the fac-
       simile  server or client application.  Each transformation
       rule is a regular expression and a replacement string; the
       regular	expression is repeatedly applied to a dial string
       and any matching substring is replaced by the  replacement
       string.

       The  syntax  of	a  dial	 string rules file is as follows.
       Comments are introduced with the ``!'' character and  con-
       tinue  to  the  end  of the current line.  Identifiers are
       formed from a leading alphabetic and any number of  subse-
       quent  alpha-numeric  characters.   A  rule  set is of the
       form:
	      Identifier := [
		  rule1
		  rule2
		  ...
	      ]
       where rule1, rule2, and so on  are  transformation  rules.
       Line breaks are significant.  The initial rule set defini-
       tion line and the  trailing  ``]''  must	 be  on	 separate
       lines; and each transformation rule must also be on a sin-
       gle line.  Transformation rules are of the form:
	    regular-expression = replacement
       where regular-expression is a POSIX 1003.2 extended  regu-
       lar expression and replacement is a string that is substi-
       tuted in place of any portion of the dial string	 that  is

			   May 8, 1996				1

DIALRULES(5F)					    DIALRULES(5F)

       matched by the regular-expression.  White space is signif-
       icant in	 parsing  transformation  rules.   If  a  regular
       expression  or replacement string has embedded white space
       in it, then the white space needs to  be	 escaped  with	a
       ``\'' character or the entire string should be enclosed in
       quote (``"'') marks.  Replacement  strings  may	reference
       the  entire  string matched by the regular expression with
       the  ``&''  character.	Substrings   matched   with   the
       ``(...)''  constructs  may  be  referenced by using ``\n''
       where n is a single numeric digit between  1  and  9  that
       refers  to the n-th matched substring; c.f.  re_format(7),
       sed(1), etc.

       To simplify and	parameterize  the  construction	 of  rule
       sets,  dial  string  rules  files  may also include simple
       text-oriented variable definitions.  A line of the form:
	    foo=string
       defines a variable named foo that has  the  value  string.
       String  values with embedded whitespace must use the ``\''
       character or be enclosed in quote  marks.   Variables  are
       interpolated into transformation rules by referencing them
       as:
	    ${var}
       Note that variable interpolation is done only once, at the
       time  a	transformation	rule is defined.  This means that
       forward references are not  supported  and  that	 circular
       definitions  will  not  cause loops.  The facsimile server
       automatically defines four variables to	have  the  values
       defined	in its configuration file: AreaCode, CountryCode,
       LongDistancePrefix, and	InternationalPrefix  These  vari-
       ables  are  initialized before parsing a dial string rules
       file; thus if they are defined in the rules file then they
       will override any definition by the server.

       There are three well known rule set names: CanonicalNumber
       to convert a dial string to a canonical format, DialString
       to prepare a dial string before using it to dial the tele-
       phone, and DisplayNumber to convert a dial  string  to  an
       external	 ``displayable''  form	that does not include the
       private information that might  appear  in  the	raw  dial
       string.

EXAMPLES
       This  is	 the default set of rules for transforming a dial
       string into a canonical phone number:
	      Area=${AreaCode}			! local area code
	      Country=${CountryCode}		! local country code
	      IDPrefix=${InternationalPrefix}	! prefix for placing an international call
	      LDPrefix=${LongDistancePrefix}	! prefix for placing a long distance call
	      !
	      ! Convert a phone number to a canonical format:
	      !
	      !	   +<country><areacode><rest>
	      !

			   May 8, 1996				2

DIALRULES(5F)					    DIALRULES(5F)

	      ! by (possibly) stripping off leading dialing prefixes for
	      ! long distance and/or international dialing.
	      !
	      CanonicalNumber := [
	      #.*		=			   ! strip calling card stuff
	      [abcABC]		= 2			   ! these convert alpha to numbers
	      [defDEF]		= 3
	      [ghiGHI]		= 4
	      [jklJKL]		= 5
	      [mnoMNO]		= 6
	      [prsPRS]		= 7
	      [tuvTUV]		= 8
	      [wxyWXY]		= 9
	      [^+0-9]+		=			   ! strip white space etc.
	      ^${IDPrefix}	= +			   ! replace int. dialing code
	      ^${LDPrefix}	= +${Country}		   ! replace l.d. dialing code
	      ^[^+]		= +${Country}${Area}&	   ! otherwise, insert canon form
	      ]
       The first rule simply strips anything following	a  ``#'';
       this  will  remove  any	calling card-related information.
       The next eight rules convert upper and lower  case  alpha-
       betics  to  the equivalent key numbers (this is convenient
       for users that use mnemonic  phone  numbers).   The  tenth
       rule  removes  everything but numbers and plus signs.  The
       eleventh rule translates any explicit international  dial-
       ing  prefix into the ``+'' symbol used to identify country
       codes.  The twelfth rule replaces a leading long	 distance
       dialing	prefix	with  the local country code string.  The
       last rule matches local	phone  numbers	and  inserts  the
       local country code and area code.

       As an example, assume that
	      AreaCode=415
	      CountryCode=1
	      InternationalPrefix=011
	      LongDistancePrefix=1
       then   if   the	 above	 set   of  rules  is  applied  to
       ``01123965-Tube#2345'', the transformations would be:
	      01123965-Tube#2345    01123965-Tube    ! strip calling card stuff
	      01123965-Tube	    01123965-8823    ! convert alphabetics
	      01123965-8823	    011239658823     ! strip white space etc.
	      011239658823	    +239658823	     ! replace int. dialing code
	      +239658823	    +239658823	     ! replace l.d. dialing code
	      +239658823	    +239658823	     ! otherwise, insert canon form
       for a final result of ``+239658823''.

SEE ALSO
       sendfax(1),    dialtest(8C),    faxq(8C),     faxsend(8C),
       faxgetty(8C), config(5F)

			   May 8, 1996				3

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net