SIP

Make and answer phone calls in your Delphi applications

Download

  

Buy $69.00

Overview

To make and answer phone calls with TSipClient Delphi component you will need an account from a SIP provider like VOIP BUSTER, NET-VOICE, OVH Telecom, SIPNET etc. or you can install PBX like Asterisk on your computer. Once your get a SIP host name, account user name and password you will be able to:

  • Make phone calls
  • Answer incoming phone calls
  • Detect user input (DTMF)
  • Play .WAV files (PCM 8kHz 16 Bit Mono)
  • Record calls in .WAV format
  • Play text messages to a phone line (TTS)
  • Send DTMF codes
  • Make conference calls

Compatibility

The source code of the component is compatible with all Delphi versions starting from Delphi 5 to latest Delphi Tokyo.

Usage examples

This is a non-visual component so you can either install it in your Delphi environment and place it on your form or create it dynamically at runtime. When the instance of the component created you need to assign the properties from your SIP account and specify event handler procedures

procedure TForm1.FormCreate(Sender: TObject);
begin
  FSipClient := TSipClient.Create(nil);
  FSipClient.Host := 'sipprovider.com';
  FSipClient.User := 'myusername';
  FSipClient.Password := 'mypassword';
  // Assigning event handler procedures
  FSipCLient.OnRegistration := SipClientRegistration;
  FSipClient.OnCall := SipClientCall;
  FSipClient.OnAnswer := SipClientAnswer;
  FSipCLient.OnBye := SipClientBye;
  FSipCLient.OnPlayed := SipClientPlayed;
  FSipCLient.OnDtmf := SipClientDtmf;
  // Activate the engine
  FSipClient.Active := True;
  // Start registration on SIP serever
  FSipClient.Register;
end;

Making phone call

procedure TForm1.CallButtonClick(Sender: TObject);
begin
  FCall := FSipClient.Call('18025551111');
end; 

Answering incoming call

procedure TForm1.SipClientCall(Sender: TObject; const ACall: ICall);
begin
  FCall := ACall;
  FCall.Answer;
end;

Ending call

procedure TForm1.HangupButtonClick(Sender: TObject);
begin
  FCall.EndCall;
  FCall := nil;
end;

For more information please download the trial version that includes the full source code of a demo softphone project.

Contact