jobcontrol.1m
上传用户:weiyuanprp
上传日期:2020-05-20
资源大小:1169k
文件大小:8k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. ." $Id: jobcontrol.1m,v 1.6 2008/07/26 16:50:35 faxguy Exp $
  2. ."
  3. ." HylaFAX Facsimile Software
  4. ."
  5. ." Copyright (c) 1994-1996 Sam Leffler
  6. ." Copyright (c) 1994-1996 Silicon Graphics, Inc.
  7. ." HylaFAX is a trademark of Silicon Graphics
  8. ." 
  9. ." Permission to use, copy, modify, distribute, and sell this software and 
  10. ." its documentation for any purpose is hereby granted without fee, provided
  11. ." that (i) the above copyright notices and this permission notice appear in
  12. ." all copies of the software and related documentation, and (ii) the names of
  13. ." Sam Leffler and Silicon Graphics may not be used in any advertising or
  14. ." publicity relating to the software without the specific, prior written
  15. ." permission of Sam Leffler and Silicon Graphics.
  16. ." 
  17. ." THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  18. ." EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  19. ." WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  20. ." 
  21. ." IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  22. ." ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  23. ." OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  24. ." WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  25. ." LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  26. ." OF THIS SOFTWARE.
  27. ."
  28. .if n .po 0
  29. .ds Fx fIHylas-1FAXs+1fP
  30. .TH JOBCONTROL ${MANNUM1_8} "Mar 27, 2006"
  31. .SH NAME
  32. jobcontrols - per-job controls for *(Fx servers
  33. .SH DESCRIPTION
  34. The *(Fx configuration parameter
  35. .B JobControlCmd
  36. specifies the script that is used to apply 
  37. per-job controls on job characteristics
  38. such as the time-of-day to place a call.
  39. .PP
  40. The controls program is passed the respective job ID number as the first and only argument.
  41. .PP
  42. The controls program should produce a simple line-based
  43. .SM ASCII
  44. output containing a series of records of the form:
  45. .sp .5
  46. .RS
  47. param: value
  48. .RE
  49. .sp .5
  50. which is parsed the same manner as all HylaFAX config files.
  51. Parameter values are parsed exactly as specified in
  52. .IR hylafax-config (${MANNUM4_5});
  53. i.e. values with embedded whitespace may be enclosed in quote marks (``"'').
  54. .PP
  55. All output on a line following a ``#'' character is ignored.
  56. .PP
  57. The output order is important.
  58. The last parameter value in the output overrides any previous values in the output.
  59. Otherwise a default value is used from the
  60. .I faxq
  61. configuration file.
  62. .PP
  63. The following parameters may be output on a per-job basis;
  64. consult
  65. .IR hylafax-config (${MANNUM4_5})
  66. for a description of each parameter
  67. (except
  68. .BR Modem ,
  69. .BR Priority ,
  70. and
  71. .B RejectNotice
  72. which are described below).
  73. .sp .5
  74. .nf
  75. .ta w'MaxConcurrentCalls    'u +w'integer    'u +w'fIunlimitedfP    'u
  76. fBTag Type Default DescriptionfP
  77. MaxConcurrentCalls integer s-11s+1 max concurrent jobs to process for a destination
  78. MaxDials integer s-1fIunlimitedfPs+1 max phone calls to make to transmit a job
  79. MaxSendPages integer s-1fIunlimitedfPs+1 max pages to permit in a send
  80. MaxTries integer s-13s+1 max attempts to transmit a job
  81. Modem string s-1Anys+1 ModemGroup to use for destination
  82. Notify string - notification override for job
  83. Priority integer - priority to use for job
  84. RejectNotice string - rejection notice for transmit job
  85. TimeOfDay string s-1Anys+1 default time-of-day restrictions
  86. VRes integer - Vertical resolution
  87. UseXVRes integer - Usage of extended resolutions
  88. .fi
  89. .PP
  90. The
  91. .B Modem
  92. parameter controls which
  93. .B ModemGroup
  94. is used in sending faxes to the destination.  If the user
  95. assigns a
  96. .B ModemGroup
  97. for a specific job where all modems are outside of this
  98. .B ModemGroup
  99. matching a destination, then the value of
  100. .B Modem
  101. is overridden by the user's assignment.  Likewise, if the user
  102. assigns a
  103. .B ModemGroup
  104. for a specific job where some, but not all, of the modems are
  105. included in this
  106. .B ModemGroup
  107. matching a destination, then the value of
  108. .B Modem
  109. is overridden by the inclusive set of modems found in both.
  110. .PP
  111. The
  112. .B Notify
  113. parameter allows an override of whatever notification request
  114. the client requested in the job.  Options are ``none'',  ``when requeued'',
  115. ``when done'', and ``when done+requeued''.
  116. .PP
  117. The
  118. .B Priority
  119. parameter controls the priority to assign to the job.  This
  120. overrides any priority requested by the submitter.
  121. .PP
  122. The
  123. .B RejectNotice
  124. parameter controls whether or not to reject
  125. jobs to the destination.
  126. Jobs that are
  127. rejected are done so
  128. without placing a phone call and the associated message
  129. is returned to the job submitter.
  130. This facility can be used to disallow calling sensitive
  131. phone numbers; for example
  132. .sp .5
  133. .nf
  134. .ft C
  135.     RejectNotice: "Calls to emergency numbers are not permitted"
  136. .ft P
  137. .fi
  138. .PP
  139. The
  140. .B VRes
  141. parameter controls the vertical resolution. Possible values are 98 (normal resolution, equivalent to
  142. .I sendfax
  143. -l option) and 196 (fine resolution, equivalent to
  144. .I sendfax
  145. -m option).
  146. .PP
  147. The
  148. .B UseXVRes
  149. parameter is used to enable or disable the usage of extended resolutions supported by the receiver. Possible values are 1 (enable extended resolutions usage, equivalent to
  150. .I sendfax
  151. -G option) and 0 (disable extended resolutions usage).
  152. This parameter supersedes the usage of
  153. .B VRes.
  154. .PP
  155. In addition to the above parameters, any other parameters that are specified
  156. are automatically accumulated and passed to programs invoked by
  157. .IR faxq ,
  158. such as
  159. .I faxsend
  160. and
  161. .IR pagesend .
  162. (Note that in a batched-jobs instance that these parameters will apply to all
  163. jobs in the batch.)
  164. This is a convenient mechanism for defining configuration parameters
  165. for all modems without having to modify each modem-specific configuration
  166. file.  For example,
  167. .sp .5
  168. .nf
  169. .ft C
  170.     SessionTracing: 0x4f
  171. .ft P
  172. .fi
  173. .PP
  174. This mechanism also makes it easy to control transmit-related parameters
  175. according to the destination phone number.  For example, to disable use
  176. of 
  177. .SM ECM
  178. and restrict the transmit speed when placing
  179. international phone calls one might use:
  180. .sp .5
  181. .nf
  182. .ft C
  183.     DesiredBR: 3
  184.     DesiredEC: 0
  185.     DesiredDF: 1
  186. .ft P
  187. .fi
  188. .SH EXAMPLES
  189. Change (overlap) MaxDials parameter to 3 for all outgoing calls.
  190. .PP
  191. 1. Create file bin/jobcontrol with the following content:
  192. .sp .5
  193. .nf
  194. .ft C
  195.    #!/bin/sh
  196.    echo "MaxDials: "3""
  197.    exit 0
  198. .ft P
  199. .fi
  200. .PP
  201. 2. Ensure that bin/jobcontrol is marked as executable:
  202. .sp .5
  203. .nf
  204. .ft C
  205.     chmod +x bin/jobcontrol
  206. .ft P
  207. .fi
  208. .PP
  209. 3. Add parameter JobControlCmd to
  210. .IR hylafax-config (5F);
  211. (etc/config) file:
  212. .sp .5
  213. .nf
  214. .ft C
  215.     JobControlCmd: bin/jobcontrol
  216. .ft P
  217. .fi
  218. .PP
  219. The controls program will likely need to refer to the
  220. sendq file corresponding to the job in order to obtain
  221. information such as the number being dialed, the job owner, or
  222. the number of send attempts.  For this purpose the parseQfile
  223. function has been placed in bin/common-functions to assist
  224. in this.  For example:
  225. .nf
  226. .ft C
  227.     #!/bin/sh
  228.     . etc/setup.cache
  229.     . bin/common-functions
  230.     QFILE=sendq/q$1
  231.     parseQfile
  232.     case "$number-$owner-$tottries" in
  233.         5551212-lee-3) echo "Class1ECMSupport: no";;
  234.         *-sam-*) echo "LocalIdentifier: +1.800.555.1212";;
  235.         911-*) echo "RejectNotice: \"Calls to 911 are not permitted\"";;
  236.     esac
  237.     exit 0
  238. .ft P
  239. .fi
  240. .SH NOTES
  241. .B JobControlCmd
  242. is run each time the job moves into the run-queue ("READY" state), and all
  243. output is effective on each instance.  If the administrator wishes to vary
  244. output based on the attempt sequence, then the q-file values should be
  245. consulted in the process.  Furthermore, blind usage of options such as
  246. .B Priority
  247. could be confusing as it would essentially prevent a job from increasing or
  248. decreasing in job priority as usually expected after call attempts.
  249. .SH "SEE ALSO"
  250. .IR faxq (${MANNUM1_8}),
  251. .IR hylafax-config (${MANNUM4_5}),
  252. .IR re_format (7).