2011-04-27 176 views
0

我只是想知道UCMA 3.0 SDK是否支持此功能。 我打算使用SIP客户端来呼叫独立的UCMA应用程序,该应用程序将使用VXML来播放提示。谢谢。使用UCMA 3.0创建SIP客户端

+0

只是为了检查 - 通过SIP客户端,你的意思的Lync/Office Communicator的,或其他SIP客户端?而通过单机版,您的意思是没有连接到Lync/OCS基础设施的UCMA应用程序?如果是这样,它将连接到什么? – 2011-04-27 14:51:44

+0

1.我的意思是像XLite这样的SIP客户端 – user646073 2011-05-03 02:58:26

回答

0

如果我得到您的问题是正确的,您希望创建独立的ucma应用程序,可以在有人使用sip电话呼叫时播放提示。对?如果是的话,这是可能的。对于SIP电话,您可以使用Phoner lite或xlite。但是phoner lite不支持呼叫转移。 要创建独立应用程序,请检查此http://www.ksac.com/blog/bid/58799/UCMA-3-0-Programs-Without-Lync-Server

3

您需要首先配置应用程序端点,然后再执行常规应用程序激活步骤。

使用UCMA 3.0 API后,请按照下列步骤操作:

1) Create a new collaboration platform. Using 



X509Certificate2 cert ="your certificate thumb here"; 

CollaborationPlatform _collabPlatform; 

    ServerPlatformSettings settings = new ServerPlatformSettings(Name, LocalhostFQDN, ServicePort, ServerGruu, cert); 

_collabPlatform = new CollaborationPlatform(settings); 
    _collabPlatform.AllowedAuthenticationProtocol = SipAuthenticationProtocols.Ntlm; 
_collabPlatform.BeginStartup(PlatformStartupCompleted, _collabPlatform); 

2) Create a new Endpoint. 
Here is the callback. 

     private void PlatformStartupCompleted(IAsyncResult result) 
       { 

      try 
      { 
       _collabPlatform.EndStartup(result); 

       ApplicationEndpointSettings settings = new ApplicationEndpointSettings(AgentUri, ServerFQDN, ServerPort); 
        // For registered endpoints (recommended). 
        settings.UseRegistration = true; 
        _localEndpoint = new ApplicationEndpoint(_collabPlatform, settings); 

        _localEndpoint.BeginEstablish(EndpointEstablishCompleted, null); 

      } 
      catch (ConnectionFailureException connFailEx) 
      { 
       // ConnectionFailureException will be thrown when the platform cannot connect. 

      } 
      catch (RealTimeException rte) 
      { 
       // Any other RealTimeException could occur due to other error. 

      } 

      } 
     } 


     private void EndpointEstablishCompleted(IAsyncResult result) 
      { 
       _localEndpoint.EndEstablish(result); 
      //Register Event for incoming call here. 
      }