NAME
          irXfer - perform a flash transfer

     SYNOPSIS
          #include <irapi.h>

          int irXfer (channel_id cid, const char * xfer_num,int tag, int xferwhen);

     DESCRIPTION
          The irXfer function flashes the switch-hook, waits for
	  dialtone, places a second call to the number that specified in 
	  xfer_num, and then completes the call transfer.

	  cid is the channel id.

          xfer_num is the number to transfer to. 

          tag is returned to the application with the subsequent
          IRE_XFER_DONE.

	  xferwhen can be specified to IRD_XFER_PROCEEDING, 
	  IRD_XFER_ALERTING, or IRD_XFER_CONNECTED.

          IRD_XFER_PROCEEDING transfers the call after the address is sent to 
	  the switch.

	  IRD_XFER_ALERTING transfers the call when remote end is alerting.

	  IRD_XFER_CONNECTED transfers the call when remote end is answered.


     EVENT

	  IRE_XFER_HELD
	  Indicates that the first call is held and ready to be transferred.

	  IRE_XFER_DONE
	  After the irXfer is issued, the IRE_XFER_DONE event is 
	  generated with one of the following three modifiers.

	    IREM_NULL
	    The call has been successfully transfered, and channel is released.
	    IREM_INVALID_DIALSTRING
	    The transfer string specified in xfer_num is not acceptable.
	    IREM_ERROR
	    System internal error.

	  IRE_XFER_RETRIEVED
	  After irXfer is issued, but a failure happened, IRE_XFER_RETRIEVED is 
	  generated and the first call has been retrieved.  The following modifiers
	  indicate the errors with IRE_XFER_RETRIEVED event.

	    IREM_BUSY
	    IREM_REORDER
	    IREM_TIMEOUT
	    IREM_NOANSWER
	    IREM_SIT
	    IREM_NO_DIALTONE
	    IREM_FAST_BUSY
	    IREM_ERROR
	    IREM_UNSUPPORTED
	    IREM_UNKNOWN
	    

     RETURN VALUE
          IRR_OK is returned if the transfer request is successfully
          initiated.

          IRR_FAIL is returned if an error occurs.

     VERSION
          This is version 11/07/02 of this man page.