An SIP ActiveX is added into SDK since V1.60.

Please use regsvr32 to register the GTSIPCtrl.ocx in bin folder. 
If you use this ActiveX in your application, you only need to deploy GTSIPCtrl.ocx into your customer's machine.

VB6 sample is included in the V1.60.

How to use the ActiveX.

Step 1: Put the ActiveX into dialog, assume the obj's name is GTSIPAPI1.
Step 2: Add two functions into dialog.
void InitSIPServer()
{
	GTSIPAPI1.CreateEnv()
	GTSIPAPI1.CFGSetValue(...,....) //Set SIP configuration
	GTSIPAPI1.StartServer()
}

void FreeSIPServer()
{
	GTSIPAPI1.StopServer()
	GTSIPAPI1.DestroyEnv()
}

Step 3: In Form load and Unload functions, InitSIPServer and FreeSIPServer are invoked.
Form1_Load()
	InitSIPServer
End

Form1_Unload()
	FreeSIPServer
End

Step 4: Add a timer to the dialog. Set timer to init event every 100ms.
Timer1_Event
	GTSIPAPI1.ProcessGTAPIEvent() //Process All SIP Event
End

Step 5: Overwrite GTSIPAPI1 activex's event. for example:
OnCallConnected
OnCallOffered
OnCallDialing
OnCallRinging
nCallIdle
OnCallHolding
OnCallTransfering
OnAudioPlayDone
OnAudioRecordDone
OnAudioStatus
OnDTMFDone
OnDTMFKeyDown
OnDTMFKeyUp
OnRecvStatus
OnRecvRegStatus
OnRecvError
OnNotifySimpleMsgSummary

see http://www.pcbest.net/ for more details.


****************************************************************************************************
For errors: Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic

This problem is fixable if you have the Windows SDK installed. You should have it if you have a recent version of Visual Studio. 
Use the Visual Studio Command Prompt, then:
run oleview.exe gtsipctrl.ocx
type Ctrl+A, Ctrl+C to copy the type library content
run notepad.exe, Ctrl+V. Search for "unsigned" and delete it.
save the file to a temporary directory with the name gtsipctrl.idl
run midl gtsipctrl.idl /tlb gtsipctrl.tlb
copy the generated gtsipctrl.tlb to your project directory

You can now add gtsipctrl.tlb instead of gtsipctrl.ocx, you should no longer get the error.



