Zoiper COM API  1.1
 All Classes Files Functions Typedefs Enumerations Enumerator Properties
IZoiperCall Interface Reference

Call Interface. More...

Public Member Functions

void Hang ()
 Ends the call. More...
 
void Hold ()
 Holds the call. More...
 
void UnHold ()
 Unholds the call. More...
 
void Accept ()
 Accept the call. More...
 
void Reject ()
 Reject the call. More...
 
VARIANT_BOOL Record ()
 Start recording the call. More...
 
VARIANT_BOOL RecordStop ()
 Stop recording the call. More...
 
void UpdateRecordingFileName ()
 Change the recording file name. More...
 
void Video ([in] VARIANT_BOOL video)
 Enable video stream for the call. More...
 
void SendDTMF ([in] BSTR dtmf)
 Send a DTMF sequence. More...
 
void Transfer ([in] BSTR phone)
 Transfer a call. More...
 
VARIANT_BOOL AttendedTransfer ([in] IZoiperCall *call)
 Make an attended transfer. More...
 

Properties

BSTR Phone [get]
 Specifies the phone number. More...
 
IZoiperContact Contact [get]
 The property will get a reference to the Contact object used for the call. More...
 
IZoiperAccount Account [get]
 Specifies a reference to the account object used for the call. More...
 
BSTR Duration [get]
 Specifies the call duration in seconds. More...
 
BSTR CurrentCodec [get]
 Specifies the used codec. More...
 
VARIANT_BOOL Conference [get, set]
 Puts the call in and out of conference. More...
 
BSTR DNID [get]
 Specifies the DNID. More...
 
VARIANT_BOOL IsHold [get]
 Specifies if the call is put on hold. More...
 
VARIANT_BOOL IsRemoteHold [get]
 Specifies if the remote side has put the call on hold. More...
 
VARIANT_BOOL IsIncoming [get]
 Specifies if the call is incoming. More...
 
VARIANT_BOOL IsRecording [get]
 Indicates if the call is being recorded. More...
 
VARIANT_BOOL IsTransferring [get]
 Specifies if the call is transferring. More...
 
VARIANT_BOOL IsRinging [get]
 Specifies if the call is ringing. More...
 
BSTR RecordingFileName [get]
 Specifies the current recording file name. More...
 

Detailed Description

Call Interface.

This interface represents a call instance in the phone. The call is always achieved using an account but there are cases of incoming calls which can't be matched to an existing account. In this case the IZoiperCall::Account property holds a temporary account created just for that call.

Note
Call objects may be destroyed by the phone itself. In this case an event to notify the user will be sent before that. All references to this call object MUST be destroyed in this event because any subsequent usage of the object will fail. This events are IZoiperEvent::OnZoiperCallFail, IZoiperEvent::OnZoiperCallHang and IZoiperEvent::OnZoiperCallReject.
See Also
IZoiperEvent::OnZoiperCallRing, IZoiperEvent::OnZoiperCallFail, IZoiperEvent::OnZoiperCallHang,
IZoiperEvent::OnZoiperCallHold, IZoiperEvent::OnZoiperCallUnhold, IZoiperEvent::OnZoiperCallAccept
IZoiperEvent::OnZoiperCallReject, IZoiperEvent::OnZoiperCallIncoming, IZoiperEvent::OnZoiperCallRecvDTMF
IZoiperEvent::OnZoiperCallSipHeader, IZoiperEvent::OnZoiperTransferSuccess, IZoiperEvent::OnZoiperTransferFailed
IZoiperEvent::OnZoiperCallStartRecording, IZoiperEvent::OnZoiperCallStopRecording,
IZoiperEvent::OnZoiperCallHoldLocal, IZoiperEvent::OnZoiperCallUnholdLocal

Member Function Documentation

void IZoiperCall::Accept ( )

Accept the call.

See Also
Reject()
VARIANT_BOOL IZoiperCall::AttendedTransfer ( [in] IZoiperCall call)

Make an attended transfer.

Tries to join the call with the call given as parameter. If it is successful this call will terminate.

Parameters
[in]callreference to the second call object of the attended trasnfer.
Returns
it is set to true if the attended transfer has started successfully and false if it is not.
void IZoiperCall::Hang ( )

Ends the call.

Ends the current call causing onZoiperCallHang() event. If this method is used no other references to this call object should be made as it is going to be destroyed.

void IZoiperCall::Hold ( )

Holds the call.

If the call is the active call in the phone object, the active call will be set to NULL.

See Also
UnHold()
VARIANT_BOOL IZoiperCall::Record ( )

Start recording the call.

Starts to record the call to the destination folder specified in the IZoiperConfig::RecordPath property with name generated from the pattern specified the IZoiperConfig::RecordFileName property. The recording file name could be obtained in the IZoiperEvent::OnZoiperCallStartRecording() callback.

Returns
it is set to true if the recording has started successfully and false if it is not.
See Also
RecordStop(), UpdateRecordingFileName()
VARIANT_BOOL IZoiperCall::RecordStop ( )

Stop recording the call.

Returns
it is set to true if the recording has stopped successfully and false if there was an error.
See Also
Record(), UpdateRecordingFileName()
void IZoiperCall::Reject ( )

Reject the call.

See Also
Accept()
void IZoiperCall::SendDTMF ( [in] BSTR  dtmf)

Send a DTMF sequence.

Parameters
[in]dtmfcould contain a single character or a sequence of characters to be converted into DTMF signals according to the property IZoiperAccount::DTMFType for the account, used for the call. The valid characters to be used in this parameter are : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, * and #
Note
The usage of the DTMF type DTMF_SIGNALLING_OUTBAND could result in slower sending of the DTMF signals, because it requires a confirmation to be received from the remote end.
void IZoiperCall::Transfer ( [in] BSTR  phone)

Transfer a call.

Make an unattended (blind) transfer.

Parameters
[in]phonea string with the phone number to transfer to.
void IZoiperCall::UnHold ( )

Unholds the call.

If there is an active call object in the phone it will be put on hold automatically and this call will become the active one. This method works in the same way as the SetActive() method.

See Also
Hold()
void IZoiperCall::UpdateRecordingFileName ( )

Change the recording file name.

Forces a new file name for the recording to be generated and the current recording file to be renamed. It will reflect any changes to the parameters values specified in IZoiperConfig::RecordFilename.

See Also
Record(), RecordStop()
void IZoiperCall::Video ( [in] VARIANT_BOOL  video)

Enable video stream for the call.

Enable video mode for the call

Parameters
[in]videospecifies if the video has to be started or stopped.

Property Documentation

IZoiperAccount IZoiperCall::Account
get

Specifies a reference to the account object used for the call.

VARIANT_BOOL IZoiperCall::Conference
getset

Puts the call in and out of conference.

Zoiper supports only one conference at a given time. If the property is set to true, the call will join the conference. If it is false the call will leave the conference. Read this property to get information whether the call is in conference or not.

IZoiperContact IZoiperCall::Contact
get

The property will get a reference to the Contact object used for the call.

The property will get a reference to the contact object used for the call. When a phone is dialed, Zoiper tries to match the phone number to a contact from the phonebook. If there is one the phone will assign this property to the found contact. If there is no matching contact, a temporary one will be created for the call.

BSTR IZoiperCall::CurrentCodec
get

Specifies the used codec.

The property stores the codec used for the call. Possible values are :

  • u-law - G.711 u-law
  • GSM - GSM
  • a-law - G.711 a-law
  • G729 - G.729
  • Speex - Speex narrowband
  • iLBC 30 - iLBC 30ms frames
  • iLBC 20 - iLBC 20ms frames
BSTR IZoiperCall::DNID
get

Specifies the DNID.

The property will get the Dialed Number Identifier (DNID) (the number that the other end has dialed to make the call) in case of incoming calls.

BSTR IZoiperCall::Duration
get

Specifies the call duration in seconds.

In case of incoming call that is not picked up yet, it will be setto the duration of the ringing. When the call is answered the property is reset to zero and start the count again but this time for the call itself.

VARIANT_BOOL IZoiperCall::IsHold
get

Specifies if the call is put on hold.

VARIANT_BOOL IZoiperCall::IsIncoming
get

Specifies if the call is incoming.

VARIANT_BOOL IZoiperCall::IsRecording
get

Indicates if the call is being recorded.

VARIANT_BOOL IZoiperCall::IsRemoteHold
get

Specifies if the remote side has put the call on hold.

VARIANT_BOOL IZoiperCall::IsRinging
get

Specifies if the call is ringing.

VARIANT_BOOL IZoiperCall::IsTransferring
get

Specifies if the call is transferring.

BSTR IZoiperCall::Phone
get

Specifies the phone number.

The property will hold the caller identification name (CID) in case of incoming call. The property will hold the dialed number in case of outgoing call.

BSTR IZoiperCall::RecordingFileName
get

Specifies the current recording file name.

This property is used if the call is recorded.

Note
The properties in the file name will be replaced with their corresponding values. The file name can be changed on the fly by using custom properties in the initial recording file name pattern and the UpdateRecordingFilename() method.

The documentation for this interface was generated from the following file: