The originating tag calls the Modem Manager's MakeCall() method. Immediately, the tag's DataPort variable is set to a valid value. Shortly after, DataPort becomes an integer value >=0. Should the call fail in any way, then DataPort becomes negative. For further details of these values, see Call Progress and Error Codes.
If the call setup completes successfully, then DataPort changes to a Stream value (ValueType(DataPort)==8). The call requestor may now read and write to that stream to communicate with the called party. To hang-up the call, you may call CloseStream(). If the other end hangs-up or the call fails, then DataPort becomes Invalid.
If the call setup fails, then the call is retried according to the configured retry settings. If the call is retried, then DataPort becomes an array pointer while the call is queued. DataPort will not go Invalid until the call has been abandoned.