本文介绍了SIP / 2.0 481呼叫支路/交易不退出(UCMA)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 15:10