HylaFAX The world's
most advanced open source fax server
|
|
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
A sample complex dialrules file
! HylaFAX (tm) Dialing String Processing Rules for the Toronto Area.
!
! Written by Evan Leibovitch <evan@telly.org>
! This file may be freely distributed; suggestions or improvements
! are welcomed.
!
! Here is an example of how to revise the 'dialrules' file to cope
! with situations in which multiple area codes (or certain parts of
! them) are 'local' calls. As an increasing number of metropolitan
! communities are being split into multiple area codes, there needs to
! be a way to instruct HylaFax which other area codes (and exchanges)
! are local.
!
! Toronto's situation appears typical. What was once all 416 is now
! split between 416 (Toronto itself) and 905 (everything surrounding).
! Many exhchanges can call locally to areas of the other. Also,
! some outlying 905 exchanges can make local calls to some 519 numbers.
!
! Somehow, Hylafax needs to be told which exchanges are local; This is
! done, in the 'Dialstring' portion of the dialrules file, by first
! adding ${LDPrefix} to everything and then removing it if the exchange
! is local.
!
! While this file has most value to Toronto-area users, it offers a
! resaonable template of how to accomplish the same task in other areas.
!
!
! Revision History
! 1.0 1995/11 First release
! 1.1 1998/05 Cleanup, added new exchanges
!
! Information below is covers much of Peel, Halton and York Regions,
! as well as Toronto. The default setup below is for systems located in
! Brampton.
!
!
Area=905 ! (used for 905 exchanges below)
Country=${CountryCode} ! local country code
IDPrefix=${InternationalPrefix} ! prefix for placing an international call
LDPrefix=${LongDistancePrefix} ! prefix for placing a long distance call
!
WS=" " ! our notion of white space
!
! Convert a phone number to a canonical format:
!
! +<country><areacode><rest>
!
! by (possibly) stripping off leading dialing prefixes for
! long distance and/or international dialing.
!
CanonicalNumber := [
#.* = ! strip calling card stuff
[^+0-9]+ = ! strip white space etc.
^${IDPrefix} = + ! replace int. dialing code
^${LDPrefix} = ! strip l.d. dialing code
^[^+]......$ = +${Country}${Area}& ! default AC
^[^+]* = +${Country}& ! otherwise, insert canon form
]
!
! Process a dialing string according to local requirements.
! This may involve stripping local country and area codes,
! inserting dialing prefixes, etc.
!
DialString := [
[-${WS}.]+ = ! strip syntactic sugar
^[+]${Country} = ! Its in North America
^${LDPrefix} =
^[2-9]......$ = ${LDPrefix}905& ! default AC for 7-digit Nos.
! ^^^ <----- (change to 416 if the HylaFAX
! system is within Toronto)
^[2-9].........$ = ${LDPrefix}& ! if the number is 10-digits
!
!
! This part strips the leading ${LDPrefix} from local exchanges
! Uncomment the lines for exchanges that are local to you; comment out
! everything that is long distance from your area.
!
! Acton
!^${LDPrefix}(519853) = \1
!
! Aurora
!^${LDPrefix}(${Area}71[37]) = \1
!^${LDPrefix}(${Area}727) = \1
!^${LDPrefix}(${Area}841) = \1
!
! Bethesda
!^${LDPrefix}(${Area}888) = \1
!
! Bolton
^${LDPrefix}(${Area}857) = \1
^${LDPrefix}(${Area}951) = \1
!
! Bradford
!^${LDPrefix}(${Area}77[58]) = \1
!
! Brampton
^${LDPrefix}(${Area}45) = \1
^${LDPrefix}(${Area}79[0-39]) = \1
^${LDPrefix}(${Area}84[06]) = \1
^${LDPrefix}(${Area}863) = \1
^${LDPrefix}(${Area}874) = \1
!
! Burlington
!^${LDPrefix}(${Area}319) = \1
!^${LDPrefix}(${Area}33[12356]) = \1
!^${LDPrefix}(${Area}63[12479]) = \1
!^${LDPrefix}(${Area}681) = \1
!
! Caledon
^${LDPrefix}(519927) = \1
!
! Caledon East
^${LDPrefix}(${Area}58[46]) = \1
!
! Campbellville
!^${LDPrefix}(${Area}854) = \1
!
! Castlemore
^${LDPrefix}(${Area}794) = \1
!
! Erin
!^${LDPrefix}(519833) = \1
!
! Georgetown
^${LDPrefix}(${Area}70[23]) = \1
^${LDPrefix}(${Area}87[37]) = \1
!
! Gormley
!^${LDPrefix}(${Area}887) = \1
!
! Grand Valley
!^${LDPrefix}(519928) = \1
!
! Hillsburgh
!^${LDPrefix}(519855) = \1
!
! Keswick
!^${LDPrefix}(${Area}476) = \1
!^${LDPrefix}(${Area}989) = \1
!
! King City
!^${LDPrefix}(${Area}833) = \1
!
! Kleinburg
!^${LDPrefix}(${Area}893) = \1
!
! Maple
!^${LDPrefix}(${Area}303) = \1
!^${LDPrefix}(${Area}832) = \1
!
! Markham
!^${LDPrefix}(${Area}201) = \1
!^${LDPrefix}(${Area}294) = \1
!^${LDPrefix}(${Area}47[12]) = \1
!
! Milton
!^${LDPrefix}(${Area}229) = \1
!^${LDPrefix}(${Area}462) = \1
!^${LDPrefix}(${Area}69[13]) = \1
!^${LDPrefix}(${Area}87[568]) = \1
!
! Mississauga
! (includes Clarkson, Cooksville, Malton,
! Port Credit, Streetsville)
^${LDPrefix}(${Area}206) = \1
^${LDPrefix}(${Area}212) = \1
^${LDPrefix}(${Area}238) = \1
^${LDPrefix}(${Area}27) = \1
^${LDPrefix}(${Area}28[12]) = \1
^${LDPrefix}(${Area}30[126]) = \1
^${LDPrefix}(${Area}40[35]) = \1
^${LDPrefix}(${Area}50[127]) = \1
^${LDPrefix}(${Area}542) = \1
^${LDPrefix}(${Area}56[4-9]) = \1
^${LDPrefix}(${Area}60[12789]) = \1
^${LDPrefix}(${Area}61[25]) = \1
^${LDPrefix}(${Area}62[459]) = \1
^${LDPrefix}(${Area}67[0-36-8]) = \1
^${LDPrefix}(${Area}694) = \1
^${LDPrefix}(${Area}712) = \1
^${LDPrefix}(${Area}785) = \1
^${LDPrefix}(${Area}795) = \1
^${LDPrefix}(${Area}80[34]) = \1
^${LDPrefix}(${Area}81[2349]) = \1
^${LDPrefix}(${Area}82[0-468]) = \1
^${LDPrefix}(${Area}848) = \1
^${LDPrefix}(${Area}855) = \1
^${LDPrefix}(${Area}89[0167]) = \1
^${LDPrefix}(${Area}949) = \1
!
! Newmarket
!^${LDPrefix}(${Area}212) = \1
!^${LDPrefix}(${Area}715) = \1
!^${LDPrefix}(${Area}83[06]) = \1
!^${LDPrefix}(${Area}853) = \1
!^${LDPrefix}(${Area}89[58]) = \1
!^${LDPrefix}(${Area}953) = \1
!
! Nobleton
!^${LDPrefix}(${Area}859) = \1
!
! Oak Ridges
!^${LDPrefix}(${Area}313) = \1
!^${LDPrefix}(${Area}773) = \1
!
! Oakville
!^${LDPrefix}(${Area}257) = \1
!^${LDPrefix}(${Area}33[047-9]) = \1
!^${LDPrefix}(${Area}46[79]) = \1
!^${LDPrefix}(${Area}616) = \1
!^${LDPrefix}(${Area}815) = \1
!^${LDPrefix}(${Area}82[579]) = \1
!^${LDPrefix}(${Area}84[24579]) = \1
!
! Orangeville
!^${LDPrefix}(51993[89]) = \1
!^${LDPrefix}(51994[0-2]) = \1
!
! Palgrave
^${LDPrefix}(${Area}880) = \1
!
! Pefferlaw
!^${LDPrefix}(705437) = \1
!
! Queensville
!^${LDPrefix}(${Area}478) = \1
!
! Richmond Hill
!^${LDPrefix}(${Area}508) = \1
!^${LDPrefix}(${Area}737) = \1
!^${LDPrefix}(${Area}770) = \1
!^${LDPrefix}(${Area}780) = \1
!^${LDPrefix}(${Area}88[34]) = \1
!
! Schomberg
!^${LDPrefix}(${Area}939) = \1
!
! Shelburne
!^${LDPrefix}(519925) = \1
!
! Snelgrove
^${LDPrefix}(${Area}843) = \1
!
! Stouffville
!^${LDPrefix}(${Area}64[02]) = \1
!
! Sutton
!^${LDPrefix}(${Area}64[02]) = \1
!
! Thornhill
!^${LDPrefix}(${Area}66[09]) = \1
!^${LDPrefix}(${Area}70[79]) = \1
!^${LDPrefix}(${Area}73[18]) = \1
!^${LDPrefix}(${Area}76[14]) = \1
!^${LDPrefix}(${Area}771) = \1
!^${LDPrefix}(${Area}879) = \1
!^${LDPrefix}(${Area}88[1269]) = \1
!
! Toronto (Metro)
^${LDPrefix}416 = 416
^${LDPrefix}(905509) = \1
!
! Tottenham
!^${LDPrefix}(${Area}936) = \1
!
! Unionville
!^${LDPrefix}(${Area}305) = \1
!^${LDPrefix}(${Area}316) = \1
!^${LDPrefix}(${Area}415) = \1
!^${LDPrefix}(${Area}47[04579]) = \1
!^${LDPrefix}(${Area}513) = \1
!^${LDPrefix}(${Area}94[0468]) = \1
!
! Victoria
^${LDPrefix}(${Area}838) = \1
!
! Woodbridge
!^${LDPrefix}(${Area}264) = \1
!^${LDPrefix}(${Area}85[016]) = \1
!
! Final tweaking
^[+]${Country}${Area} = ${Area} ! same-country call
^[+] = ${IDPrefix} ! international call
]