<!--
var Anscall = false;
var RedDown = false;
var ChannelID = 0;

var STATE_HANGUP = 0;
var STATE_HOLD = 1;
var STATE_CANCEL_HOLD = 2;
var STATE_HOLDING = 3;
var STATE_CALL_BUSY = 4;
var STATE_READY = 5;
var STATE_CANCEL_CALL = 6;
var STATE_CALL_MAKING = 7;
var STATE_CONNECTED = 8;
var STATE_DISCONNECTED = 9;
var STATE_CALL_INCOMING = 10;
var STATE_CALLED_NOT_ONLINE = 11;
var STATE_CALL_FORBIDDEN = 12;
var STATE_CALL_NO_BALANCE = 13;
var STATE_CALL_NOT_FOUND = 14;
var STATE_ERROR = 15;
var STATE_TRANSFERHOLDING = 16;
var STATE_TRANSFERHOLD = 17;
var STATE_REFER_ACCEPTED = 18;
var STATE_GET_VOICE_MAIL = 19;
var STATE_FUNCTION_KEY_SUCCESS = 20;
var STATE_GET_CONF_MEMBERS = 21;
var STATE_CONF_OUT_OF_RESOURCE = 22;
var STATE_CONF_MEMBER_BUSY = 23;
var STATE_CONF_MEMBER_NOT_FOUND = 24;
var STATE_CONF_MEMBER_FORBIDDEN = 25;
var STATE_UNREGISTER_OK = 26;
var STATE_CONF_MEMBER_NO_ANSWER = 27;
var STATE_BAD_REQUEST = 28;
var STATE_CALL_NOANS = 29;
var LastState = STATE_READY;

//if (document.all)  ie6 = true
//else  alert("Note: This page keyboard event object for IE6 only")

function Keyevent()
{
 if (true)
 {
  outform = document.forms[0]
  switch (event.keyCode)
  {
   case 48:
		clickDial(0);
		break;
  case 49:
		clickDial(1);
		break;
  case 50:
		clickDial(2);
		break;
  case 51:
		clickDial(3);
		break;
  case 52:
		clickDial(4);
		break;
  case 53:
		clickDial(5);
		break;
  case 54:
		clickDial(6);
		break;
  case 55:
		clickDial(7);
		break;
  case 56:
		clickDial(8);
		break;
  case 57:
		clickDial(9);
		break;
  case 42:
		clickDial(10);
		break;
  case 35:
		clickDial(11);
		break;
  case 13:
		DOCall();
		break;
  case 47:
		HangUp();
		break;
  default:      alert(event.keyCode);
                break;
  }
 }
}
function Keyevent1()
{
 /*
 if (ie4)
 {
  outform = document.forms[0]
  switch (event.keyCode)
  {
  case 8:
		clearScreen();
		break;
  }
 }
 */
}

function doBtn(Code)
{
	f = document.myform;
	switch(Code)
	{
		case('CLEAR'):
			f.Dialer2.value='';
			break;	
		case('CLEAR_ALL'):
			f.Dialer1.value='';
			f.Dialer2.value='';
			break;
	}
}

function clickDial(num)
{	
    var call_status;
		
	f = document.myform;
	if(f.Dialer1.value.length<5)
	{
		if( num == 10 ) window.myform.Dialer1.value=window.myform.Dialer1.value + '*';
		else if( num == 11 ) window.myform.Dialer1.value=window.myform.Dialer1.value + '#';
		else window.myform.Dialer1.value=window.myform.Dialer1.value + num;
	}
	else
	{
		if( num == 10 ) window.myform.Dialer2.value=window.myform.Dialer2.value + '*';
		else if( num == 11 ) window.myform.Dialer2.value=window.myform.Dialer2.value + '#';
		else window.myform.Dialer2.value=window.myform.Dialer2.value + num;		
	}
	
	/*
	if( num == 10 )
    window.myform.Dialer.value=window.myform.Dialer.value + '*';
  else if( num == 11 )
    window.myform.Dialer.value=window.myform.Dialer.value + '#';
  else
    window.myform.Dialer.value=window.myform.Dialer.value + num;

  window.myform.Dialer.scrollLeft=1000;
  call_status = Netvoice1.ChannelStatus(ChannelID);
 
  if( call_status == 8 )//STATE_CONNECTED
  {  	
   	Netvoice1.SendUserInput(num,ChannelID); //Send DTMF
  } 
  */

  window.myform.Dialer2.scrollLeft=1000;
  call_status = Netvoice1.ChannelStatus(ChannelID);
  if( call_status == STATE_CONNECTED )
  {
		Netvoice1.SendUserInput(num,ChannelID); //Send DTMF
  }
}

function End()
{
    OnHangUp();
    Netvoice1.EndWeb();
    Netvoice1.removeNode(true);
}

function regist()
{ 
   if(Netvoice1.object==null)
   {
	 window.myform.Status.value="object null";
         setTimeout(regist,1000);
   }
   else
   {   
     var tno = "30000";
	 
	 //window.myform.Status.value="Registering0";
	 Netvoice1.CodecPriority = "g729,g711Alaw64k,g711Ulaw64k"; //set Codec Priority
	 //Netvoice1.CodecPriority = "g711Alaw64k,g711Ulaw64k"; //set Codec Priority
	 Netvoice1.PayLoadLen = 20;
	 Netvoice1.TelNO = tno;
	 Netvoice1.UserName = tno;
	 Netvoice1.ProxyIP = "119.207.70.10"; //set Sip Proxy IP 119.207.70.10
	 Netvoice1.ProxyPort = 6060; //set Sip Proxy Port
   	 Netvoice1.OutBoundProxyIP = "119.207.70.10"; //set OutBound Proxy IP
   	 Netvoice1.OutBoundProxyPort = 6060; //set OutBound Proxy Port
     Netvoice1.Password = "12345";
     Netvoice1.RegTTL = 600; //TTL
	 Netvoice1.NetWorkInterfaceIndex = -1;
	 Netvoice1.UserInputType = 0; //0:2833 1:tone
	 Netvoice1.TelEventPayLoadType = 101;
	 Netvoice1.ApplyTo = 1; //WebCaller
	 Netvoice1.EchoLen = 64;
	 Netvoice1.Secured = false;
     Netvoice1.MicVolLevel = 8;
	 Netvoice1.EnableTrace = true;  //new command

	 // set Tone path
	 //Netvoice1.BusyTone("C:\\WINDOWS\\Media\\notify.wav");
	 Netvoice1.RingBackTone("C:\\WINDOWS\\system32\\ringbacktone2.wav");
	 //Netvoice1.RingTone("C:\\WINDOWS\\Media\\ringin.wav");
	 //Netvoice1.HoldTone("C:\\WINDOWS\\Media\\tada.wav");
	 Initial();
   }
}

function Initial()
{
   Ini=Netvoice1.Init(); // init
   
   if (Ini == 0 ) //NO_ERRORS
           if( Netvoice1.ApplyTo == 1 )
				window.myform.Status.value="Ready";
	   else
	     window.myform.Status.value="Registring";
   else if (Ini == 1 ) //NO_HID_USBPHONE
	   window.myform.Status.value="NO HID USBPHONE";
   else if (Ini == 2 ) //INIT_STACK_ERROR
	   window.myform.Status.value="INIT STACK ERROR";
   else if (Ini == 3 ) //REGIST_PROXY_ERROR
	   window.myform.Status.value="REGIST PROXY ERROR";
   else if (Ini == 4 ) //ERROR_PROXY_MODE_NO_PROXY_IP
	   window.myform.Status.value="NO PROXY IP";
   else if (Ini == 5 ) //ERROR_PROXY_MODE_NO_OUTBOUND_PROXY_IP
	   window.myform.Status.value="NO OUTBOUND PROXY IP";
   else if (Ini == 6 ) //ERROR_PROXY_MODE_NO_UDPPORT
	   window.myform.Status.value="NO UDPPORT";
   else if (Ini == 7 ) //ERROR_NO_USER_NAME
	   window.myform.Status.value="NO USER NAME";
   else if (Ini == 8 ) //ERROR_VENDORID
	   window.myform.Status.value="NO VENDERID";
   else if (Ini == 9 ) //ERROR_NETWORK
	   window.myform.Status.value="NETWORK ERROR";
   else
	   window.myform.Status.value="INIT ERROR";
}

function DOCall()
{

  PhoneNo = window.myform.Dialer1.value +  window.myform.Dialer2.value
  var call_status;

  if (!Anscall)
  {	
   	ChannelID = Netvoice1.MakeCall(PhoneNo);
   	window.myform.Status.value=ChannelID;
   	//alert(ChannelID);	
   	if(ChannelID > 0)
   	{
      Anscall = false;
      RedDown = true;
      //document.btnHangUp.disabled=false;
      //document.btnDial.disabled=true;
   	}
  }
  else
  {	
        
	call_status = Netvoice1.ChannelStatus(ChannelID);
	window.myform.Status.value=call_status;
	if(call_status == 10)//STATE_CALL_INCOMING
	{	 
		Netvoice1.AnswerCall(ChannelID);
		Anscall = false;
  	    RedDown = true;
	    //document.btnHangUp.disabled=false;
        //document.btnDial.disabled=true;
	} 
  }  
}


function OnHangUp()
{
	var call_status;
 if (!RedDown)
 {    	
	var makecall_no=window.myform.Dialer2.value;	
	var call_len=makecall_no.length;	
	window.myform.Dialer2.value=makecall_no.substring(0,call_len);
	window.myform.Status.value="Ready";
	Netvoice1.KeepSIPSession(0);
 }
 else
 {
        var ThisCall;  

        ThisCall = Netvoice1.ChannelID(LastState);//STATE_CONNECTED
        if( ThisCall > 0 )
        {
          if(LastState==STATE_CALL_MAKING)
          {
            Netvoice1.CancelCall(ThisCall);
            ThisCall = Netvoice1.ChannelID(STATE_CONNECTED);
            if( ThisCall > 0 )
            Netvoice1.HangUp(ThisCall);
          }
          else if(LastState==STATE_CALL_INCOMING)
            Netvoice1.RejectCall(ThisCall);
          else
          {
            Netvoice1.HangUp(ThisCall);
          }
        }
        else
        {
          Netvoice1.HangUp(0);
        }
	    //document.btnHangUp.disabled==true;
        //document.btnDial.disabled=false;
        Anscall = false;
        RedDown = false;
    
 }		
}

function clearScreen()
{	
	var makecall_no=window.myform.Dialer2.value;	
	var call_len=makecall_no.length;	
	window.myform.Dialer2.value=makecall_no.substring(0,call_len-1);
	window.myform.Status.value="Ready";
}

function InComing()
{	
	ChannelID = Netvoice1.ChannelID(STATE_CALL_INCOMING);	//Get Channel ID
	CallerNO = Netvoice1.CallerID(ChannelID);	//Get Caller ID
	window.myform.Status.value="Call InComing";	
	Anscall = true;
	RedDown = true;
}
function OnRegisterOK1()
{
	var call_status; 
	if(ChannelID > 0)
	{	
		call_status = Netvoice1.ChannelStatus(ChannelID); 	//Get Channel Status
		
		switch (call_status)
		{
		case 7://STATE_CALL_MAKING :	
		case 10://STATE_CALL_INCOMING :	
		case 8://STATE_CONNECTED :	
			break;
		default:
			Window.myform.Status.value="Ready";
			break;
		}
	}
}
function SendOption(AliveSec)
{
         Netvoice1.KeepSIPSession(AliveSec);
}
//-->

