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

传真(Fax)编程

开发平台:

C/C++

  1. ." $Id: sendpage.1,v 1.4 2009/09/29 11:46:01 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. .ds Sn s-1SNPPs+1
  31. .ds Ps Ps-2OSTs+2Ss-2CRIPTs+2
  32. .TH SENDPAGE 1 "May 12, 1996"
  33. .SH NAME
  34. sendpage - submit a pager job for transmission
  35. .SH SYNOPSIS
  36. .B sendpage
  37. [
  38. .B -O
  39. .I config
  40. ] [
  41. .I options
  42. ] [
  43. .IR message ...
  44. ]
  45. .SH DESCRIPTION
  46. .I sendpage
  47. submits a pager transmission request
  48. to a server using the Simple Network Paging Protocol (*(Sn)
  49. described in 
  50. .SM RFC
  51. 1861.
  52. Pager requests specified with
  53. .I sendpage
  54. are normally processed immediately, although
  55. they may also be queued for transmission at a later time
  56. using a syntax identical to the
  57. .IR at (1)
  58. command.
  59. For each job that is queued,
  60. .I sendpage
  61. prints a
  62. .I "job identifier"
  63. on the standard output.
  64. A job identifier is the token by which jobs are
  65. identified within *(Fx.
  66. Job identifiers can be supplied to the
  67. .IR faxrm (1)
  68. command to remove the jobs or to the
  69. .IR faxalter (1)
  70. command to alter job parameters.
  71. .PP
  72. Pages may be sent to one or more destination
  73. paging terminals and, optionally,
  74. include a text message (depending on the capability of the receiving device).
  75. Each destination is identified by a
  76. Pager Identification Number (s-1PINs+1) specified with the
  77. .B -p
  78. option; for example,
  79. sendpage -p 12345 ``Help, the fax machine is on fire!''.
  80. A
  81. .SM PIN
  82. is typically a numeric string though it may also be an alpha-numeric
  83. alias depending on the capabilities of the *(Sn server.
  84. .PP
  85. Text messages can be specified on the command line or taken from
  86. standard input.
  87. The
  88. .B -n
  89. option must be used if no text message is to be supplied with
  90. the page request(emas for a numeric-only pager.
  91. Text supplied to the paging system is sent exactly as submitted
  92. including any newline, carriage return, or non-ASCII data.
  93. Message preparation including filtering and formatting
  94. must be done prior to submitting the data to
  95. .IR sendpage .
  96. Note that text supplied on the command line does not include a
  97. trailing newline character.
  98. .PP
  99. The order of options on the command line is significant.
  100. Each page to be transmitted is assigned the current value of
  101. parameters specified on the command line; e.g. whether or not to
  102. queue the request.
  103. This means that options that specify parameters for a particular
  104. destination must precede the pager ID specified with the
  105. .B -p
  106. option.
  107. For example,
  108. .IP
  109. sendpage -l 2 -p sam Your network is hosed
  110. .LP
  111. submits a page to ``sam''
  112. that has service level 2 while
  113. .IP
  114. sendpage -p sam -l 2 Your network is hosed
  115. .LP
  116. submits the same page but with the default service level (1).
  117. Note also that parameter values persist across 
  118. .B -p
  119. options so the following
  120. .IP
  121. sendpage -l 0 -p sam -p 5551212 Your network is hosed
  122. .LP
  123. submits two pages, both of which have service level 0.
  124. .SH OPTIONS
  125. .TP 12
  126. .BI -a " time"
  127. Schedule transmission at the indicated
  128. .IR time .
  129. Times are specified using the syntax of the
  130. .IR at (1)
  131. command; e.g. ``now + 30 minutes'' to schedule transmission
  132. 30 minutes in the future.
  133. By default,
  134. .I sendpage
  135. schedules pages for ``now''.
  136. (In *(Sn parlance this option specifies the ``hold time'' for the page;
  137. and may result in the page being delivered to the paging terminal but
  138. not delivered to the user until the specified time.)
  139. .TP 12
  140. .B -D
  141. Enable notification by electronic mail when the
  142. page has been delivered to the service provider.
  143. This option is meaningful only when communicating with a
  144. *(Fx server.
  145. .TP 12
  146. .BI -f " from"
  147. Use
  148. .I from
  149. as the identity of the message sender.
  150. Otherwise the sender is the user that invoked
  151. .IR sendpage .
  152. The sender is an account name to which the *(Fx software
  153. should direct email notification messages.
  154. The
  155. .I from
  156. identity may be a full-blown ``From:'' line, e.g.
  157. e.g. ``Joe Blow <joe@foo.com>''
  158. and ``joe@foo.com (Joe Blow)'' are acceptable.
  159. If no host-part is specified in the
  160. .I from
  161. string the local hostname is used.
  162. This option is useful when
  163. .I sendpage
  164. is invoked on behalf of another user, such as in the implementation
  165. of an electronic mail to pager gateway.
  166. .TP 12
  167. .BI -h " fR[fPmodemfR@]fPhostfR[fP:portfR]fP"
  168. Force the jobs to be processed on a specific
  169. .I host
  170. and, optionally, using a particular
  171. .IR modem .
  172. The
  173. .I host
  174. may be either a symbolic name or a network address.
  175. IPv6 addresses are given in ``[xx:xx::x]:port'' format.
  176. If no
  177. .B -h
  178. option is supplied,
  179. .I sendpage
  180. uses the
  181. .SM SNPPSERVER
  182. environment variable to identify the *(Sn server to
  183. which the pages should be directed.
  184. If no server is specified then
  185. .I sendpage
  186. attempts to contact a server on the local host.
  187. If no modem is specified, the job will be submitted to any
  188. available modem.
  189. .TP 12
  190. .BR -I " time"
  191. If a job must be requeued because of a communication failure schedule
  192. the retry according to the specified
  193. .IR time .
  194. Times are given in seconds.
  195. Minutes, hours, and days can be specified with
  196. ``fIminfP'', ``fIhourfP'', and ``fIdayfP'' suffixes, respectively.
  197. By default *(Fx reschedules jobs using retry times that depend on
  198. the manner in which the job failed; this interface permits a user to
  199. override this algorithm and specify a single fixed retry time for all
  200. communication failures.
  201. This option is meaningful only when communicating with a
  202. *(Fx server.
  203. .TP 12
  204. .BR -l " level"
  205. Specify a particular service
  206. .I level
  207. to use in delivering a page.
  208. A service level defines both a scheduling priority and
  209. the time that a client is willing to wait to find out
  210. if delivery is successful or not.
  211. Normal delivery is obtained with level 1 (default).
  212. The *(Sc specification identifies level 0 as the highest
  213. priority service level with levels 1-7 lower priority
  214. and levels 8-11 vendor/server-specific.
  215. For *(Fx server machines the mapping between service level
  216. and scheduling priority is defined by the configuration of
  217. the *(Sn server process; see the
  218. .B PriorityMap
  219. parameter in
  220. .IR hfaxd (${MANNUM1_8})
  221. .TP 12
  222. .B -n
  223. Send to a numeric-only paging device; i.e. do not send a text
  224. message in the paging request.
  225. .TP 12
  226. .B -N
  227. Do not notify the sender by electronic mail when the
  228. page has been delivered to the service provider (default).
  229. This option is meaningful only when communicating with a
  230. *(Fx server.
  231. .TP 12
  232. .BI -O " config"
  233. Treat
  234. .I config
  235. as a configuration parameter specification that is interpreted
  236. after reading the configuration file.
  237. For example, ``-O Host:fax.example.com'' would set the
  238. .B Host
  239. configuration parameter to ``fax.example.com'', overriding any setting in
  240. the configuration file.
  241. .TP 12
  242. .BI -p " PIN"
  243. The Pager Identification Number (s-1PINs+1) for a terminal 
  244. that is to receive the message.
  245. A message can be sent to multiple destinations by specifying multiple
  246. .B -p
  247. options.
  248. .TP 12
  249. .B -q
  250. Mark pages to be queued on the server and do not wait for
  251. their delivery.
  252. By default
  253. .I sendpage
  254. conforms to the *(Sn spec by synchronously waiting for
  255. each page to be delivered.
  256. This option instructs 
  257. .I sendpage
  258. to submit one or pages and then terminate immediately
  259. without waiting for their completion.
  260. When pages are queued it is advisable to enable email
  261. notification with the
  262. .B -D
  263. or
  264. .B -R
  265. options.
  266. Job queueing is a non-standard function of the *(Sn
  267. implementation in *(Fx and is not available when submitting
  268. pages to non-*(Fx servers.
  269. .TP 12
  270. .B -R
  271. Enable notification by electronic mail when the
  272. message has been delivered and when it is requeued for retransmission.
  273. *(Fx will always notify the sender by electronic mail
  274. if there is problem delivering a page (irregardless of the
  275. email notification setting).
  276. This option is meaningful only when communicating with a
  277. *(Fx server.
  278. .TP 12
  279. .BI -s " subject"
  280. Set the ``subject'' for the specified pages according to
  281. .IR subject .
  282. For *(Fx 
  283. .I subject
  284. is used as the identifier string returned in any email
  285. notification messages (instead of the usual job
  286. identifier number).
  287. This option is useful for applications that cross reference
  288. notification messages against job submissions.
  289. .TP 12
  290. .BI -t " tries"
  291. Make no more than
  292. .I tries
  293. attempts to send the page.
  294. By default, *(Fx will terminate a job if:
  295. 3 consecutive attempts to send a particular message fail, or
  296. it appears the receiver is not a service provider.
  297. Otherwise *(Fx places no limit on the
  298. .I number
  299. of attempts to send a page, instead terminating a job
  300. if it is not completed within a fixed period of time
  301. specified by the service level.
  302. Note that a try
  303. is a phone call in which carrier is established and the 
  304. .SM IXO/TAP
  305. or
  306. .SM UCP
  307. protocol is commenced; this is contrasted with a call
  308. attempt that might have failed because the line was busy.
  309. This option is meaningful only when communicating with a
  310. *(Fx server.
  311. .TP 12
  312. .BI -T " dials"
  313. Make no more than
  314. .I dials
  315. phone calls when attempting to send a page.
  316. By default, *(Fx will terminate a job if:
  317. 12 attempts to reach a service provider fail, or
  318. it appears the receiver is not a service provider.
  319. Otherwise *(Fx terminates a job
  320. if it is not completed within a fixed period of time
  321. specified by the
  322. .IR "service level" .
  323. This option is meaningful only when communicating with a
  324. *(Fx server.
  325. .TP 12
  326. .B -v
  327. Trace the protocol between
  328. .I sendpage
  329. and the *(Sn server process that does the delivery
  330. work on the remote machine.
  331. This information is directed to the standard output.
  332. .SH "CONFIGURATION PARAMETERS"
  333. .I sendpage
  334. reads configuration information from the files
  335. .BR ${LIBDATA}/hyla.conf ,
  336. .BR ${LIBDATA}/sendpage.conf ,
  337. and
  338. .BR ~/.hylarc ;
  339. in that order.
  340. Configuration files follow the conventions described in
  341. .IR hylafax-client (1).
  342. The following configuration parameters are recognized:
  343. .sp .5
  344. .nf
  345. .ta w'ServiceLevel    'u +w'integer    'u +w's-1fIsee belowfPs+1    'u
  346. fBTag Type Default DescriptionfP
  347. HoldTime string - hold time to assign to pages
  348. Host string s-1localhosts+1 host to contact for service
  349. MailAddr string - mail address for notification messages
  350. MaxDials integer s-112s+1 times to retry dialing
  351. MaxTries integer s-13s+1 times to retry transmission
  352. Notify string s-1nones+1 control email notification
  353. Port integer s-1444s+1 port to use in contacting server
  354. Protocol string s-1tcps+1 protocol to use in contacting server
  355. QueueSend boolean s-1Nos+1 whether or not to queue pages
  356. RetryTime string - delay between failed attempts to send
  357. ServiceLevel integer s-1s+1 SNPP service level for pages
  358. Verbose boolean s-1Nos+1 whether or not to enable protocol tracing
  359. .fi
  360. .PP
  361. The configuration parameters are explained below:
  362. .TP 15
  363. .B HoldTime
  364. The hold time to assign to pages.
  365. (Equivalent to the
  366. .B -a
  367. option.)
  368. .TP 15
  369. .B Host
  370. The host to contact for service.
  371. (Equivalent to the
  372. .B -h
  373. option.)
  374. .TP 15
  375. .B MailAddr
  376. The electronic mail address to direct notification messages from the
  377. server.
  378. If this string is specified without an ``@hostname'' part then the
  379. local hostname will automatically be appended.
  380. (Equivalent to the
  381. .B -f
  382. option.)
  383. .TP 15
  384. .B MaxDials
  385. The maximum number of times to dial the phone for each job.
  386. (Equivalent to the
  387. .B -T
  388. option.)
  389. .TP 15
  390. .B MaxTries
  391. The maximum number of times to retry sending a job.
  392. (Equivalent to the
  393. .B -t
  394. option.)
  395. .TP 15
  396. .B Notify
  397. Control the email notification messages from the server.
  398. This string may be one of ``done'', ``none'', ``requeued'' or ``default''
  399. with an optionally preceding ``when '' (e.g. ``when done'').
  400. Note that ``when requeued'' implies ``when done''.
  401. (Equivalent to the
  402. .BR -D ,
  403. .BR -R ,
  404. and
  405. .B -N
  406. options.)
  407. .TP 15
  408. .B Port
  409. The network port to contact for service.
  410. (Equivalent to the
  411. .B -h
  412. option.)
  413. .TP 15
  414. .B Protocol
  415. The name of the communication protocol to use when contacting a server.
  416. (Equivalent to the
  417. .B SNPPSERVICE
  418. environment variable.)
  419. .TP 15
  420. .B QueueSend
  421. Control whether or not to wait for the pages to be delivered.
  422. (Equivalent to the
  423. .B -q
  424. option.)
  425. .TP 15
  426. .B RetryTime
  427. The time to delay between job retries due to a communication failure.
  428. (Equivalent to the
  429. .B -I
  430. option.)
  431. .TP 15
  432. .B ServiceLevel
  433. The
  434. .SM SNPP
  435. service level to assign to each page.
  436. (Equivalent to the
  437. .B -l
  438. option.)
  439. .TP 15
  440. .B Verbose
  441. Control protocol tracing.
  442. (Equivalent to the
  443. .B -v
  444. option.)
  445. .SH ENVIRONMENT
  446. The following environment variables are used by
  447. .IR sendpage :
  448. .TP 15
  449. .B SNPPSERVER
  450. The identity of the *(Sn server to contact for service.
  451. This value is specified as ``[fImodemfP@]fIhostfP[:fIportfP]''
  452. where
  453. .I host
  454. is either a host name or the Internet ``.'' (dot) address of
  455. the host;
  456. .I port
  457. is the
  458. .SM TCP
  459. port number or service name to use (default is ``snpp'' or 444);
  460. and
  461. .I modem
  462. is an optional modem name or class on the server machine to use
  463. in processing the requests (this is meaningful only when the
  464. server is running *(Fx).
  465. .TP 15
  466. .B SNPPSERVICE
  467. The communication service specification for communicating with
  468. the *(Sn server.
  469. This value is specified as ``fIportfP[/fIprotocolfP]''; by
  470. default ``444/tcp''.
  471. .SH FILES
  472. .ta w'${SPOOL}/tmp/sndpageXXXXXX    'u
  473. .nf
  474. ${SPOOL}/tmp/sndpageXXXXXX temporary files
  475. .fi
  476. .SH NOTES
  477. The phone number of the pager service provider is stored on the
  478. server machine and is not specified by the user; this is a departure
  479. from pager support that was supplied with *(Fx version 3.0.
  480. .PP
  481. *(Fx version 3.0 used to recognize a null text message and assume
  482. the destination paging device was numeric-only.
  483. This is no longer true; if a null text message is submitted then
  484. a null message will be included in the paging request.
  485. This may cause paging requests submitted to ``real SNPP'' servers
  486. to be rejected if the paging device is in fact numeric-only.
  487. When sending to a numeric-only paging device the
  488. .B -n
  489. option should be used.
  490. .SH BUGS
  491. It is not possible to page text- and non-text devices together;
  492. .I sendpage
  493. must be run twice, once to send to text-capable devices and once to send
  494. to non-text devices.
  495. .SH "SEE ALSO"
  496. .IR at (1),
  497. .IR hylafax-client (1),
  498. .IR faxalter (1),
  499. .IR faxrm (1),
  500. .IR faxstat (1),
  501. .IR faxq (${MANNUM1_8}),
  502. .IR hfaxd (${MANNUM1_8}),
  503. .IR hylafax-server(${MANNUM4_5})