问题描述
Hai
我创建mspl以将调用重新路由到ucma应用程序端点
以下是我的MSPL代码
<?xml version =" 1.0" ?>
< lc:applicationManifest
appUri =" http://" Domain NAme" / AltRGS"
xmlns: lc =" http://schemas.microsoft.com/lcs/2006/05">
< lc:allowRegistrationBeforeUserServices action =" true" />
< lc:requestFilter methodNames =" INVITE"
strictRoute =" false"
registrarGenerated =" true"
domainSupported =" true" />
< lc:responseFilter reasonCodes =" NONE" />
< lc:proxyByDefault action =" true" />
< lc:scriptOnly />
< lc:splScript><![CDATA [
fromUri = GetUri(sipRequest.From);
fromUser = Concatenate(GetUserName(fromUri));
toUri = GetUri(sipRequest.To);
toUserAtHost = Concatenate(GetUserName(toUri)," @",GetHostName(toUri));
foreach(sessionExpires in GetHeaderValues(" Session-Expires")){
if(ContainsString(sessionExpires," refresher",true)){
Log( " Debug",false," RespondWithRinging:* skipped;这是一个会话刷新邀请);
return;
}
}
foreach(getAeaderValues中的userAgent(USER-AGENT)){
if(!ContainsString(userAgent," mediation") ;,真)){
Log(" Debug",false," RespondWithRinging:* skipped;不是中介服务器请求 );
返回;
}
}
if(sipRequest& ;& sipRequest.Method ==" INVITE")
{
ProxyRequest(" sip:lync1.sti.ksac。 [email protected]; gruu; opaque = srvr:app1:nKftzU4ORVGCO9Nqq3-m3QAA");
}
else {
//转发调用UCMA应用程序。
Log(Debugr,1,Forwarded caller to UCMA app:,sipRequest.From);
回复( 302,暂时移动,联系=;)
}
]]>
< / lc:splScript>
< / lc:applicationManifest>
我使用电源外壳注册我的MSPl
New-Csserver应用程序
和我的c#代码是
私有空运行()
{
试试
{
_helper = new UCMASampleHelper();
_appEndpoint = _helper.CreateAutoProvisionedApplicationEndpoint();
_appEndpoint.RegisterForIncomingCall< AudioVideoCall>(AudioVideoCall_Received);
void AudioVideoCall_Received(对象发送者,CallReceivedEventArgs< AudioVideoCall> e)
{
尝试
{
string _originalRecipientUri = e.RequestData.ToHeader.Uri;
_inboundAVCall.StateChanged + = new EventHandler< CallStateChangedEventArgs>(_ inboundAVCall_StateChanged);
_inboundAVCall.AudioVideoFlowConfigurationRequested + = new EventHandler< AudioVideoFlowConfigurationRequestedEventArgs>(_ inboundAVCall_AudioVideoFlowConfigurationRequested);
Console.WriteLine(" Call Received!");
_inboundAVCall.BeginAccept(BeginAcceptCB,_inboundAVCall);
}}
当我接到电话时,MSPL将呼叫路由到UCMA应用程序并转移到代理,但是当代理接受呼叫时,它没有建立,我得到以下错误在ocs logger中找到
SIP / 2.0 481 Cal l腿/交易不退出
可以任何人请帮助我
谢谢。
Hai
I create the mspl to transfer reroute the calls to ucma application endpoint
Below is my code for MSPL
<?xml version="1.0" ?>
<lc:applicationManifest
appUri="http://"Domain NAme"/AltRGS"
xmlns:lc="http://schemas.microsoft.com/lcs/2006/05">
<lc:allowRegistrationBeforeUserServices action="true" />
<lc:requestFilter methodNames="INVITE"
strictRoute="false"
registrarGenerated="true"
domainSupported="true" />
<lc:responseFilter reasonCodes="NONE" />
<lc:proxyByDefault action="true" />
<lc:scriptOnly />
<lc:splScript><![CDATA[
fromUri = GetUri( sipRequest.From );
fromUser = Concatenate( GetUserName( fromUri ) );
toUri = GetUri( sipRequest.To );
toUserAtHost = Concatenate( GetUserName( toUri ), "@", GetHostName( toUri ) );
foreach ( sessionExpires in GetHeaderValues( "Session-Expires" ) ) {
if ( ContainsString( sessionExpires, "refresher", true ) ) {
Log( "Debug", false, "RespondWithRinging: * skipped; This is a session refreshing invite" );
return;
}
}
foreach ( userAgent in GetHeaderValues( "USER-AGENT" ) ) {
if ( ! ContainsString( userAgent, "mediation", true ) ) {
Log( "Debug", false, "RespondWithRinging: * skipped; not a mediation server request" );
return;
}
}
if (sipRequest && sipRequest.Method == "INVITE")
{
ProxyRequest("sip:[email protected];gruu;opaque=srvr:app1:nKftzU4ORVGCO9Nqq3-m3QAA");
}
else {
// Forward the call to the UCMA app.
Log("Debugr", 1, "Forwarded caller to UCMA app: ", sipRequest.From);
Respond("302", "Moved Temporarily", "Contact=");
}
]]>
</lc:splScript>
</lc:applicationManifest>
I register my MSPl By Using power shell
New-Csserver application
and my c# code is
private void Run()
{
try
{
_helper = new UCMASampleHelper();
_appEndpoint = _helper.CreateAutoProvisionedApplicationEndpoint();
_appEndpoint.RegisterForIncomingCall<AudioVideoCall>(AudioVideoCall_Received);
void AudioVideoCall_Received(object sender, CallReceivedEventArgs<AudioVideoCall> e)
{
try
{
string _originalRecipientUri = e.RequestData.ToHeader.Uri;
_inboundAVCall.StateChanged += new EventHandler<CallStateChangedEventArgs>(_inboundAVCall_StateChanged);
_inboundAVCall.AudioVideoFlowConfigurationRequested += new EventHandler<AudioVideoFlowConfigurationRequestedEventArgs>(_inboundAVCall_AudioVideoFlowConfigurationRequested);
Console.WriteLine("Call Received!");
_inboundAVCall.BeginAccept(BeginAcceptCB, _inboundAVCall);
}}
When i get the call MSPL route the call to the UCMA application and transfer to the agents but when agent accepts the call it is not establishing and i am gettimg the following error find in ocs logger
SIP/2.0 481 Call Leg/Transaction Does Not Exit
Can Any one please help me
Thanks.
推荐答案
这篇关于SIP / 2.0 481呼叫支路/交易不退出(UCMA)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!