Quantcast
Channel: Microsoft Unified Communications Managed API SDK forum
Viewing all 889 articles
Browse latest View live

App Endpoint - Multiple Incoming Calls

$
0
0

Hello,

I am writing a UCMA 4 app (using app endpoint) that takes calls from response groups that are not answered and does a database lookup to find the on call person for the respective RG and in turn the app forwards the call to the on call cell phone number.

This is working fine, until... more than one call hits the UCMA app at the same time.  I have been trying to figure out how to go about building a UCMA app that handles more than one incoming call at a time and performs the requested actions for each individual call.

For now, I set the app to do a blind transfer to reduce the potential for this failure and application crash, but obviously, this is not the right approach.

I am very new to UCMA and have just been working with the AutoProvisioning and BasicCallTransfer samples to piece this together.  My C# skills are beginner to intermediate, so any help that can be provided, or links to something that would help me is greatly appreciated.

Thanks,
Paul


Lync UCWA - Photo Image is not shown in FireFox

$
0
0

Hello Everyone,

We are facing some issue while displaying the Lync profile photo by using UCW Api. It's working fine in ie and chrome. But in Firefox the photo is not appearing. We are using UCWA sample code.

Could any one faced such issues ?

Could any one help on this?

Thanks

Balajikumar

For my UCMA based Trusted Application deployed on a Trusted Pool with two members, how does Lync handle failure of one of the members?

$
0
0

I have a UCMA based application running as a Trusted App on a Trusted Application Pool (say trust.example.com).  For reliability I would like to run it on two servers, trust1.example.com and trust2.example.com, so I plan to add them both servers to the Trusted Application Pool.  The application handles IM traffic, so it has a single SIP identity for the application.

My application is active/passive (i.e both instances of the application running on the two servers can not be active at the same time. The passive should kick in only when the active is down.

If a hardware load balancer is not available, and I set up a DNS entry for trust.example.com with 2 IPs (to point to the IP addresses of trust1.example.com and trust2.example.com),  I understand that Lync Front End Server (FE) will try to connect to the two IPs on the configured port for my application, in a round robin fashion based on what IP address it gets back from the DNS server. 

The question is this:  If the FE picks the IP address of trust1.example.com, and my application on trust1.example.com is down, will Lync automatically try to reconnect to trust2.example.com?   It has knowledge of the second server because of the Trusted Pool definition.

On failure, will Lync retry to connect to the alternate servers in the Trusted Pool?

Can a DNS based configuration be used in this scenario or will half the traffic to my app get dropped if one of the two servers in the Trusted Application pool goes down?

(The documentation is quiet on this topic and I do not yet have a lab set up to test this)



Response Group SignIn/SignOut

$
0
0

I need to be able to allow Lync users acting as telephony agents to dynamically select which queue response groups they are signed into. We know this functionality exists because Lync Client users can do it from the "Response Group Settings" menu which invokes a web page ((https://<web_pool FQDN>/RgsClients/Tab.aspx.)

I have posted this question in many forums over the last 6 months and each time been told to try a different forum.

I know that the methods I want exist, these are the WSDL definitions for the Lync 2010 RgsAgentService.

        Public Function SignIn(ByVal groupId As System.Guid) As Boolean
            Dim results() As Object = Me.Invoke("SignIn", New Object() {groupId})
            Return CType(results(0),Boolean)
        End Function
        Public Function SignOut(ByVal groupId As System.Guid) As Boolean
            Dim results() As Object = Me.Invoke("SignOut", New Object() {groupId})
            Return CType(results(0),Boolean)
        End Function

However I have not managed to get anywhere with trying to get the web interface to work, so what I would like to know is, is this functionality available via the UCMA ?

Thanks.

Application sharing options different for UserEndpoint and ApplicationEndpoint

$
0
0

I am developing an application which runs as a windows service and connects to Lync using a UserEndpoint. I have also attempted to use an ApplicationEndpoint to connect instead.

I noticed that the options available to callers under "Application Sharing" change when my application connects to Lync using:

  • UserEndpoint: Desktop and Program
  • ApplicationEndpoint: Desktop, Program, Whiteboard, Powerpoint, Poll and Q&A.

The code used to connect is untouched, the only change is the endpoint in use.
Why the difference?

DTMF send volume too low when using UCMA

$
0
0

Hi, 

We have problems calling to IVR systems, when call is etablished via 3. party concact center (CC) solution (UCMA). DTMF send level is too low and therefore most IVR systems are not responding!

Senario is as following:

Calling an external number from CC application. As CC not have its own softphone, it first call a Lync client and then calling the external number. I expect the call now is in a conference controlled by CC using UCMA. When call to an IVR system is etablished I use the keypad on the Lync client to send DTMF.

When calling to same IVR number directly from Lync, no problems :)

Diving into the DTMF RTP (RFC 2833) packet, I see a difference in the volume. When using the CC (UCMA controlled) the level is "Volume: 32"

When using Lync client directly the level is "Volume: 10"

I'm convinced that if the level in the UCMA controlled senario is changed, we have fixed the issue, but my question is: Who to change??. Is the DTMF level set by Lync or by UCMA application?. And how to fix?

Regards / Jorgen


BacktoBack call to ucma conference initialized from lync client/lync SDK failing with "Exception from HRESULT: 0x800706BA"

$
0
0

A bit background:

We have a soultion built on UCMA conference. All parties join the conference using BackToBackCall via trusted application endpoint. The issue is:

Supervisor monitoring: The client application built on Lync SDK is running on supervisor's desktop. When he/she starts monitoring a session, the application will initialize an outbound conversation to a trusted application endpoint which will in turn backtoback the call to conference once it detects the incoming calll from the supervior. Sometime the client application on supervior's desktop fails to create the outgoing conversation with the following exception:

System.InvalidCastException: Unable to cast COM object of type 'Microsoft.Office.Uc.ConversationManagerClass' to interface type 'Microsoft.Office.Uc.IConversationManager'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{C31FB52D-9E9E-45AD-A102-5218E1685B78}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA).
   at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
   at Microsoft.Office.Uc.ConversationManagerClass.AddConversation()
   at Microsoft.Lync.Model.Conversation.ConversationManager.AddConversation()

I assume there is something wrong with the COM service running inside Lync client.

Any help is much appreciated.

How to get notification when a lync user is placing a call

$
0
0

Hi,

using Lync 2013 Client SDK you  can subscribe conversation and get notification when user starts a A/V conversation. l wonder if it also available for UserEndpoint using UCMA ? or is there another way to get the notification(user making a call and not connected yet).

Thanks


Back to Back, Conference Escalation and AV-MCU Dial out

$
0
0

Hi all,

Here again!!

I have a test application which create a back to back call from one user to another. One of the parties then adds someone else to the conversation which escalates it to a conference. The EscalateToConferenceRequestedEventArgs event fires and I can successfully Join the parties to the conference using beginJoin and and audiovideomcu.transfer.

The issue I have is with the AudioVideoMcuSession.BeginDialOut. I get an exception with this stating that the "The conference was terminated internally."

        private static void EscalateToConferenceRequested(object sender, EscalateToConferenceRequestedEventArgs e)
        {
            Conversation InboundConversation = sender as Conversation;
            AudioVideoCall OutboundCallLeg = InboundConversation.Calls[0].ApplicationContext as AudioVideoCall;
            InboundConversation.ConferenceSession.EndJoin(InboundConversation.ConferenceSession.BeginJoin(default(ConferenceJoinOptions), null, InboundConversation.ConferenceSession));
            InboundConversation.ConferenceSession.AudioVideoMcuSession.EndTransfer(InboundConversation.ConferenceSession.AudioVideoMcuSession.BeginTransfer(OutboundCallLeg, null, null, InboundConversation.ConferenceSession.AudioVideoMcuSession));
            try
            {
                InboundConversation.ConferenceSession.AudioVideoMcuSession.EndDialOut(InboundConversation.ConferenceSession.AudioVideoMcuSession.BeginDialOut("sip:lyncredirector@twdev01.com", null, InboundConversation.ConferenceSession.AudioVideoMcuSession));
            }
            catch (Exception)
            {

            }
        }

I have uploaded the Log file to Here.

I would appreciate some help as I have found nothing on this error.

Thanks

Michael.

UCMA outbound dialer

$
0
0

Hi Everyone,

I am trying to build an outbound dialer using a standalone UCMA app. I was wondering if anybody could lend some help on this as that I can't seem to find any examples on the internet. I"m trying to get an application to connect to the SBC and then to make a telephone call via the sbc to a cell phone. So far i've gotten to initiating an AudioVisual call but the SBC refuses to talk back to me.

I am setting the connection context to be the sbc itself.

ConnectionContext connectionContextObj = new ConnectionContext(_sbcIP, 5060);
            _optionsObj.ConnectionContext = connectionContextObj;

  Conversation convObj = new Conversation(_endpoint);
                AudioVideoCall avcallObj = new AudioVideoCall(convObj);
               
                // Establish the call using the options we created              
                avcallObj.BeginEstablish("sip:xxxx@getonsip.com", _optionsObj,

Challenging error from one Lync FE - Schedule conference with error "Failed Fetching Meeting Id"

$
0
0

Hello Everyone, 

We are experiencing a challenging issue not seen anywhere else. When we schedule a conference, sometimes, I saw there was error "Failed Fetching Meeting Id" thrown in ConferenceScheduledCallback. The error might appear 10 out of 1000 conferences.

This is a Lync 2013 Enterprise pool with 2 Lync FE severs. We are using UCMA3.0.  interestingly, the error only complains one Lync front-end server.

       

    ErrorCode=3196,Source=LyncpfFE1.lyncpf.local,Reason=Failed Fetching Meeting Id.

This error does not seem reported anywhere. Does anyone has any clue?

Thank you in advance,

      

None      11/2/2014 7:08:17 AM     CallID::a985d648-a77a-43bf-bfb0-fd720baa139e::conferenceScheduledCallback
---------------------------------------------------------------------------------------------------

Incoming Call Details
---------------------------------------------------------------------------------------------------
IncomingCallId: [a985d648-a77a-43bf-bfb0-fd720baa139e]
IncomingCallState: [Incoming]
IncomingCallConversationId: [ff3a38bc6d8e40879a6da59d728ecc38]
IncomingCallConversationState: [Incoming]
IncomingCallConversationRemoteParticipant: [Name: +9030 - URI: sip:+9030@lyncperf.local;user=phone - Phone URI:  - OtherPhoneURI: tel:+9030]
IncomingCallRemoteEndpointParticipantUri: [sip:+9030@lyncpf.local;user=phone]
IncomingCallRemoteEndpointUri: [sip:LyncpfME.lyncpf.local@lyncpf.local;gruu;opaque=srvr:MediationServer:vR4umC-Q4FWjTmxi-7DVVwAA;grid=7aa56601cd5e498c8c2fefb74b4ce3c5]
IncomingCallRouteSetStatus: [Healthy]

Announcement Call Details
---------------------------------------------------------------------------------------------------
AnnouncementCallId: [UnknownOrLoggedOff]
AnnouncementCall is null

Agent Call Details
---------------------------------------------------------------------------------------------------
AgentCallId: [UnknownOrLoggedOff]
AgentCall is null
AgentSipAddress: []
AgentName: []
CallerName: [+9030]
Endpoint: [sip:LyncpfMiCC.lyncpf.local@lyncpf.local;gruu;opaque=srvr:pf.ucmaconnector:ig764E9311a-FxkjIAHGkAAA]
ConferenceURI: []

Control Conversation Details
---------------------------------------------------------------------------------------------------
ControlConversationID: [UnknownOrLoggedOff]
ControlConversation is null

IncomingConversationDetails
---------------------------------------------------------------------------------------------------
IncomingConversationID: [UnknownOrLoggedOff]
IncomingConversationState: [UnknownOrLoggedOff]

ACD Conference Details
ACDConference is null
---------------------------------------------------------------------------------------------------

CallerB2B Details
---------------------------------------------------------------------------------------------------
CallerB2B is null
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
 - ConferenceFailureException
Microsoft.Rtc.Collaboration.ConferenceFailureException:The operation failed due to a response from the server. For more information, examine the properties on the exception and inner exception. ---> FaultCode=
ResponseCode=500 ResponseText=unexpected
DiagnosticInformation=ErrorCode=3196,Source=LyncpfFE1.lyncpf.local,Reason=Failed Fetching Meeting Id.
Microsoft.Rtc.Signaling.DiagnosticHeader

Microsoft.Rtc.Signaling.PublishSubscribeException:A 500 (unexpected) response was received from the network and the operation failed. See the exception details for more information. ---> ResponseCode=500 ResponseText=unexpected
DiagnosticInformation=ErrorCode=3196,Source=LyncpfFE1.lyncpf.local,Reason=Failed Fetching Meeting Id.
Microsoft.Rtc.Signaling.DiagnosticHeader

Microsoft.Rtc.Signaling.FailureResponseException:A 500 (unexpected) response was received from the network and the operation failed. See the exception details for more information.
   at Microsoft.Rtc.Signaling.SipAsyncResult2`1.ThrowIfFailed()
   at Microsoft.Rtc.Signaling.SipAsyncResultBase2.EndAsyncOperation[TResult](Object owner, IAsyncResult result)
   at Microsoft.Rtc.Signaling.RealTimeEndpoint.EndSendMessage(IAsyncResult result)
   at Microsoft.Rtc.Collaboration.Conferencing.ConferenceAsyncResult`1.CompletionCallback(IAsyncResult result)
Detected at System.Environment.get_StackTrace()
   at Microsoft.Rtc.Signaling.FailureResponseException..ctor(String message, Exception innerException, SipResponseData responseData)
   at Microsoft.Rtc.Signaling.RealTimeException.GetWrappedRealTimeException(String message, SipResponseData responseData, Exception exceptionToWrap)
   at Microsoft.Rtc.Signaling.SipTransactionAsyncResult`1.ProcessFailureResponse(SipResponse response)
   at Microsoft.Rtc.Signaling.SipMessageAsyncResult.ProcessFailureResponse(SipResponse response)
   at Microsoft.Rtc.Signaling.SipTransactionAsyncResult`1.Transaction_ResponseReceived(Object sender, ResponseReceivedEventArgs e)
   at Microsoft.Rtc.Internal.Sip.OutgoingNonInviteTransaction.OnResponseReceived(EventArgs e)
   at Microsoft.Rtc.Internal.Sip.SingleThreadedDispatcherQueue.DispatcherCallback(Object queue)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)


--- End of inner exception stack trace ---
Detected at System.Environment.get_StackTrace()
   at Microsoft.Rtc.Signaling.FailureResponseException..ctor(String message, Exception innerException, SipResponseData responseData)
   at Microsoft.Rtc.Signaling.PublishSubscribeException..ctor(String message, Exception innerException, SipResponseData responseData)
   at Microsoft.Rtc.Collaboration.Conferencing.ConferenceAsyncResult`1.CompletionCallback(IAsyncResult result)
   at Microsoft.Rtc.Signaling.SipAsyncResult2`1.MakeCallback()
   at Microsoft.Rtc.Signaling.SipTransactionAsyncResult`1.MakeCallback()
   at Microsoft.Rtc.Signaling.QueueWorkItemState.ExecuteWrappedMethod(WaitCallback method, Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)



--- End of inner exception stack trace ---
   at Microsoft.Rtc.Signaling.SipAsyncResult`1.ThrowIfFailed()
   at Microsoft.Rtc.Signaling.Helper.EndAsyncOperation[T](Object owner, IAsyncResult result)
   at Microsoft.Rtc.Collaboration.ConferenceManagement.ConferenceServices.EndScheduleConference(IAsyncResult result)
   at prairieFyre.Oranda.Routing.MediaProvider.LyncVoiceMediaProvider.CallData.conferenceScheduleCallback(IAsyncResult result) in 1354
Detected at System.Environment.get_StackTrace()
   at Microsoft.Rtc.Collaboration.ConferenceFailureException..ctor(String message, Exception innerException)
   at Microsoft.Rtc.Collaboration.Conferencing.ConferenceAsyncResult`1.CreateConferenceFailureExceptionFromCommandResponse(ConferenceCommandResponse commandResponse, Exception innerException)
   at Microsoft.Rtc.Collaboration.Conferencing.CreateModifyConferenceAsyncResult.TryProcessResponseCore(SipResponseData responseData, RealTimeException innerException, RealTimeException& exception)
   at Microsoft.Rtc.Collaboration.Conferencing.ConferenceAsyncResult`1.ProcessFailedServiceResponse(FailureResponseException fre)
   at Microsoft.Rtc.Collaboration.Conferencing.ConferenceAsyncResult`1.CompletionCallback(IAsyncResult result)
   at Microsoft.Rtc.Signaling.SipAsyncResult2`1.MakeCallback()
   at Microsoft.Rtc.Signaling.SipTransactionAsyncResult`1.MakeCallback()
   at Microsoft.Rtc.Signaling.QueueWorkItemState.ExecuteWrappedMethod(WaitCallback method, Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)

Code: 
Failure
Diagnostic information: 
ErrorCode=3196,Source=LyncpfFE1.lyncpf.local,Reason=Failed Fetching Meeting Id.
Microsoft.Rtc.Signaling.DiagnosticHeader

General Reason: 

Reason: 
otherFailure
ConferenceCommandResponse
Microsoft.Rtc.Collaboration.Conferencing.ConferenceServicesCommandResponse




Back to Back and Conference Escalation

$
0
0

Hopefully someone can help me with this. UCMA application which handles call from lync client to another lync client using B2B.

One of the parties then adds someone else which starts the escalation process to a conference. I can using beginjoin and the  AudioVideoMCU to to transfer the parties in, but I also need to keep my application in the loop.

Michael Greenlee seems to suggest this is possible using a self-transfer Here, but I can't figure how.

"There is a way to retain control of the call after doing a transfer like this, using a strange technique known as the self-transfer."

Can anyone point me in the right direction?

Michael.

Meet Now Conference Invite - UCMA

$
0
0

Hi all,

Back again, I'm currently looking into getting into the signalling path of Meet Now conferences.

Currently I can get the initiator successfully into the UCMA application and B2B the call out to the original destination. This works fine and the client can then add new participants

The invite which is passed to UCMA via MSPL is the Invite which contains the SDP.

Upon adding a participant, the participant client rings, and upon answer the participant is ejected from the conference. I never the see the Invite hit the UCMA application, although I do see the Invite in the SessionReceivedEventArgs.

The UCMA application rejects the invite with a 403 Forbidden and the reason is "Remote participant mismatch".

Can anyone shed any light on this? I can't see any reason for the rejection.

Thanks

Michael.

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.438.005d93c1 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[1979629883] $$begin_record
Trace-Correlation-Id: 1979629883
Instance-Id: 19516
Direction: incoming
Peer: 10.1.5.81:58485
Message-Type: request
Start-Line: INVITE sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6 SIP/2.0
From: <sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
To: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>
Call-ID:  c6ce41de373f47d8bc3c91231fdea0f6
CSeq: 1 INVITE
Contact:  <sip:lync4@twdev01.com;opaque=user:epid:uzPH4qajwl-tauDHgtSUgQAA;gruu>
Via:  SIP/2.0/TLS 10.1.5.81:58485
Max-Forwards:  70
Content-Length:  2711
Content-Type:  multipart/alternative;boundary="----=_NextPart_000_19E0_01D0670C.47544D40"
Message-Body: ------=_NextPart_000_19E0_01D0670C.47544D40
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-ID: <55f8b3e864519d591b147fce1a1cf782@twdev01.com>
Content-Dis; handling=optional; ms-proxy-2007fallback

v=0
o=- 0 0 IN IP4 10.1.5.81
s=session
c=IN IP4 10.1.5.81
b=CT:99980
t=0 0
m=audio 18774 RTP/AVP 114 104 9 112 111 0 8 116 115 103 97 13 118 101
a=candidate:x+fgbqeQQGjTetVLHjmezkuZyqKRfQaiQolb4kNLQEQ 1 VShqUJd2ptsqi4iJc+5Gwg UDP 0.830 10.1.5.81 18774
a=candidate:x+fgbqeQQGjTetVLHjmezkuZyqKRfQaiQolb4kNLQEQ 2 VShqUJd2ptsqi4iJc+5Gwg UDP 0.830 10.1.5.81 18775
a=maxptime:200
a=rtpmap:114 x-msrta/16000
a=fmtp:114 bitrate=29000
a=rtpmap:104 SILK/16000
a=fmtp:104 useinbandfec=1; usedtx=0
a=rtpmap:9 G722/8000
a=rtpmap:112 G7221/16000
a=fmtp:112 bitrate=24000
a=rtpmap:111 SIREN/16000
a=fmtp:111 bitrate=16000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 AAL2-G726-32/8000
a=rtpmap:115 x-msrta/8000
a=fmtp:115 bitrate=11800
a=rtpmap:103 SILK/8000
a=fmtp:103 useinbandfec=1; usedtx=0
a=rtpmap:97 RED/8000
a=rtpmap:13 CN/8000
a=rtpmap:118 CN/16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20

------=_NextPart_000_19E0_01D0670C.47544D40
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-ID: <5306e4f504cf4794b4921f8359c4130f@twdev01.com>
Content-Dis; handling=optional

v=0
o=- 0 1 IN IP4 10.1.5.81
s=session
c=IN IP4 10.1.5.81
b=CT:99980
t=0 0
a=x-devicecaps:video:recv
m=audio 10562 RTP/AVP 114 104 9 112 111 0 8 116 115 103 97 13 118 101
a=x-ssrc-range:3505237022-3505237022
a=rtcp-fb:* x-message app send:dsh recv:dsh
a=rtcp-rsize
a=label:main-audio
a=x-source:main-audio
a=ice-ufrag:Zam6
a=ice-pwd:KFy0XbDs60G4aVz1z76tMTKw
a=candidate:1 1 UDP 2130706431 10.1.5.81 10562 typ host
a=candidate:1 2 UDP 2130705918 10.1.5.81 10563 typ host
a=candidate:2 1 TCP-ACT 1684798975 10.1.5.81 10562 typ srflx raddr 10.1.5.81 rport 10562
a=candidate:2 2 TCP-ACT 1684798462 10.1.5.81 10562 typ srflx raddr 10.1.5.81 rport 10562
a=maxptime:200
a=rtpmap:114 x-msrta/16000
a=fmtp:114 bitrate=29000
a=rtpmap:104 SILK/16000
a=fmtp:104 useinbandfec=1; usedtx=0
a=rtpmap:9 G722/8000
a=rtpmap:112 G7221/16000
a=fmtp:112 bitrate=24000
a=rtpmap:111 SIREN/16000
a=fmtp:111 bitrate=16000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 AAL2-G726-32/8000
a=rtpmap:115 x-msrta/8000
a=fmtp:115 bitrate=11800
a=rtpmap:103 SILK/8000
a=fmtp:103 useinbandfec=1; usedtx=0
a=rtpmap:97 RED/8000
a=rtpmap:13 CN/8000
a=rtpmap:118 CN/16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20

------=_NextPart_000_19E0_01D0670C.47544D40--
$$end_record

TL_INFO(TF_DIAG) [1]270C.22E4::03/25/2015-14:59:22.443.005d9805 (SIPStack,SIPAdminLog::WriteDiagnosticEvent:SIPAdminLog.cpp(802))[1979629883] $$begin_record
Severity: information
Text: Routed a locally generated response
SIP-Start-Line: SIP/2.0 100 Trying
SIP-Call-ID: c6ce41de373f47d8bc3c91231fdea0f6
SIP-CSeq: 1 INVITE
Peer: 10.1.5.81:58485
Data: destination="lync4@twdev01.com"
$$end_record

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.443.005d980a (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[1979629883] $$begin_record
Trace-Correlation-Id: 1979629883
Instance-Id: 19517
Direction: outgoing;source="local"
Peer: 10.1.5.81:58485
Message-Type: response
Start-Line: SIP/2.0 100 Trying
From: "Lync4"<sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
To: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>
Call-ID: c6ce41de373f47d8bc3c91231fdea0f6
CSeq: 1 INVITE
Via: SIP/2.0/TLS 10.1.5.81:58485;ms-received-port=58485;ms-received-cid=203900
Content-Length: 0
$$end_record

TL_INFO(TF_DIAG) [1]270C.22E4::03/25/2015-14:59:22.450.005d9cad (SIPStack,SIPAdminLog::WriteDiagnosticEvent:SIPAdminLog.cpp(802))[1979629883] $$begin_record
Severity: information
Text: Routed a request on behalf of an application
SIP-Start-Line: INVITE sip:vm-dev-lyncdev.twdev01.com:5061;grid SIP/2.0
SIP-Call-ID: c6ce41de373f47d8bc3c91231fdea0f6
SIP-CSeq: 1 INVITE
Peer: vm-dev-lyncdev.twdev01.com:5061
Data: application="http://www.twdev01.com/Archiver"
$$end_record

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.450.005d9cb3 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[1979629883] $$begin_record
Trace-Correlation-Id: 1979629883
Instance-Id: 1951B
Direction: outgoing
Peer: vm-dev-lyncdev.twdev01.com:5061
Message-Type: request
Start-Line: INVITE sip:vm-dev-lyncdev.twdev01.com:5061;grid SIP/2.0
From: "Lync4"<sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
To: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>
Call-ID: c6ce41de373f47d8bc3c91231fdea0f6
CSeq: 1 INVITE
Contact: <sip:lync4@twdev01.com;opaque=user:epid:uzPH4qajwl-tauDHgtSUgQAA;gruu>
Via: SIP/2.0/TLS 10.1.5.19:58578;branch=z9hG4bK27F8121E.55703591D723DDEA;branched=FALSE
Via: SIP/2.0/TLS 10.1.5.81:58485;ms-received-port=58485;ms-received-cid=203900
Record-Route: <sip:VM-DEV-019.TWDEV01.com:5061;transport=tls;opaque=state:T:F;lr>;tag=1D8D294DA0A733B41BC2E30BE5FDCC06
Max-Forwards: 69
Content-Length: 2711
Content-Type: multipart/alternative;boundary="----=_NextPart_000_19E0_01D0670C.47544D40"
P-Asserted-Identity: "Lync4"<sip:lync4@twdev01.com>
Message-Body: ------=_NextPart_000_19E0_01D0670C.47544D40
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-ID: <55f8b3e864519d591b147fce1a1cf782@twdev01.com>
Content-Dis; handling=optional; ms-proxy-2007fallback

v=0
o=- 0 0 IN IP4 10.1.5.81
s=session
c=IN IP4 10.1.5.81
b=CT:99980
t=0 0
m=audio 18774 RTP/AVP 114 104 9 112 111 0 8 116 115 103 97 13 118 101
a=candidate:x+fgbqeQQGjTetVLHjmezkuZyqKRfQaiQolb4kNLQEQ 1 VShqUJd2ptsqi4iJc+5Gwg UDP 0.830 10.1.5.81 18774
a=candidate:x+fgbqeQQGjTetVLHjmezkuZyqKRfQaiQolb4kNLQEQ 2 VShqUJd2ptsqi4iJc+5Gwg UDP 0.830 10.1.5.81 18775
a=maxptime:200
a=rtpmap:114 x-msrta/16000
a=fmtp:114 bitrate=29000
a=rtpmap:104 SILK/16000
a=fmtp:104 useinbandfec=1; usedtx=0
a=rtpmap:9 G722/8000
a=rtpmap:112 G7221/16000
a=fmtp:112 bitrate=24000
a=rtpmap:111 SIREN/16000
a=fmtp:111 bitrate=16000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 AAL2-G726-32/8000
a=rtpmap:115 x-msrta/8000
a=fmtp:115 bitrate=11800
a=rtpmap:103 SILK/8000
a=fmtp:103 useinbandfec=1; usedtx=0
a=rtpmap:97 RED/8000
a=rtpmap:13 CN/8000
a=rtpmap:118 CN/16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20

------=_NextPart_000_19E0_01D0670C.47544D40
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-ID: <5306e4f504cf4794b4921f8359c4130f@twdev01.com>
Content-Dis; handling=optional

v=0
o=- 0 1 IN IP4 10.1.5.81
s=session
c=IN IP4 10.1.5.81
b=CT:99980
t=0 0
a=x-devicecaps:video:recv
m=audio 10562 RTP/AVP 114 104 9 112 111 0 8 116 115 103 97 13 118 101
a=x-ssrc-range:3505237022-3505237022
a=rtcp-fb:* x-message app send:dsh recv:dsh
a=rtcp-rsize
a=label:main-audio
a=x-source:main-audio
a=ice-ufrag:Zam6
a=ice-pwd:KFy0XbDs60G4aVz1z76tMTKw
a=candidate:1 1 UDP 2130706431 10.1.5.81 10562 typ host
a=candidate:1 2 UDP 2130705918 10.1.5.81 10563 typ host
a=candidate:2 1 TCP-ACT 1684798975 10.1.5.81 10562 typ srflx raddr 10.1.5.81 rport 10562
a=candidate:2 2 TCP-ACT 1684798462 10.1.5.81 10562 typ srflx raddr 10.1.5.81 rport 10562
a=maxptime:200
a=rtpmap:114 x-msrta/16000
a=fmtp:114 bitrate=29000
a=rtpmap:104 SILK/16000
a=fmtp:104 useinbandfec=1; usedtx=0
a=rtpmap:9 G722/8000
a=rtpmap:112 G7221/16000
a=fmtp:112 bitrate=24000
a=rtpmap:111 SIREN/16000
a=fmtp:111 bitrate=16000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 AAL2-G726-32/8000
a=rtpmap:115 x-msrta/8000
a=fmtp:115 bitrate=11800
a=rtpmap:103 SILK/8000
a=fmtp:103 useinbandfec=1; usedtx=0
a=rtpmap:97 RED/8000
a=rtpmap:13 CN/8000
a=rtpmap:118 CN/16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20

------=_NextPart_000_19E0_01D0670C.47544D40--
$$end_record

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.455.005d9d7c (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[2374122616] $$begin_record
Trace-Correlation-Id: 2374122616
Instance-Id: 1951D
Direction: incoming
Peer: vm-dev-lyncdev.twdev01.com:5061
Message-Type: response
Start-Line: SIP/2.0 100 Trying
FROM: "Lync4"<sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
TO: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>
CALL-ID:  c6ce41de373f47d8bc3c91231fdea0f6
CSEQ: 1 INVITE
VIA:  SIP/2.0/TLS 10.1.5.19:58578;branch=z9hG4bK27F8121E.55703591D723DDEA;branched=FALSE,SIP/2.0/TLS 10.1.5.81:58485;ms-received-port=58485;ms-received-cid=203900
CONTENT-LENGTH:  0
$$end_record

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.504.005da228 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[2374122616] $$begin_record
Trace-Correlation-Id: 2374122616
Instance-Id: 19522
Direction: incoming
Peer: vm-dev-lyncdev.twdev01.com:5061
Message-Type: response
Start-Line: SIP/2.0 403 Forbidden
FROM: "Lync4"<sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
TO: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>;epid=95364369E6;tag=8c22af388d
CALL-ID:  c6ce41de373f47d8bc3c91231fdea0f6
CSEQ: 1 INVITE
VIA:  SIP/2.0/TLS 10.1.5.19:58578;branch=z9hG4bK27F8121E.55703591D723DDEA;branched=FALSE,SIP/2.0/TLS 10.1.5.81:58485;ms-received-port=58485;ms-received-cid=203900
CONTENT-LENGTH:  0
ms-diagnostics:  24019;Component="RTCC/5.0.0.0_Test Lync Redirector";Reason="Remote participant mismatch";Source="vm-dev-lyncdev.twdev01.com"
P-ASSERTED-IDENTITY:  <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>
$$end_record

TL_INFO(TF_DIAG) [1]270C.22E4::03/25/2015-14:59:22.504.005da363 (SIPStack,SIPAdminLog::WriteDiagnosticEvent:SIPAdminLog.cpp(802))[3077166619] $$begin_record
Severity: information
Text: Routed a request on behalf of an application
SIP-Start-Line: ACK sip:vm-dev-lyncdev.twdev01.com:5061;grid SIP/2.0
SIP-Call-ID: c6ce41de373f47d8bc3c91231fdea0f6
SIP-CSeq: 1 ACK
Peer: vm-dev-lyncdev.twdev01.com:5061
Data: application="http://www.twdev01.com/Archiver"
$$end_record

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.504.005da368 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[3077166619] $$begin_record
Trace-Correlation-Id: 3077166619
Instance-Id: 19523
Direction: outgoing;source="local"
Peer: vm-dev-lyncdev.twdev01.com:5061
Message-Type: request
Start-Line: ACK sip:vm-dev-lyncdev.twdev01.com:5061;grid SIP/2.0
From: "Lync4"<sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
To: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>;epid=95364369E6;tag=8c22af388d
CALL-ID: c6ce41de373f47d8bc3c91231fdea0f6
CSeq: 1 ACK
Via: SIP/2.0/TLS 10.1.5.19:58578;branch=z9hG4bK27F8121E.55703591D723DDEA;branched=FALSE
Max-Forwards: 70
Content-Length: 0
ms-diagnostics-public: 5012;reason="ACK is being generated on receipt of a failure final response for an INVITE forked by application";AppUri="http%3A%2F%2Fwww.twdev01.com%2FArchiver"
$$end_record

TL_INFO(TF_DIAG) [0]270C.22E4::03/25/2015-14:59:22.505.005da641 (SIPStack,SIPAdminLog::WriteDiagnosticEvent:SIPAdminLog.cpp(802))[2374122616] $$begin_record
Severity: information
Text: Response successfully routed
SIP-Start-Line: SIP/2.0 403 Forbidden
SIP-Call-ID: c6ce41de373f47d8bc3c91231fdea0f6
SIP-CSeq: 1 INVITE
Peer: 10.1.5.81:58485
Data: destination="lync4@twdev01.com"
$$end_record

TL_INFO(TF_PROTOCOL) [0]270C.22E4::03/25/2015-14:59:22.506.005da646 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[2374122616] $$begin_record
Trace-Correlation-Id: 2374122616
Instance-Id: 19522
Direction: outgoing
Peer: 10.1.5.81:58485
Message-Type: response
Start-Line: SIP/2.0 403 Forbidden
FROM: "Lync4"<sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
TO: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>;epid=95364369E6;tag=8c22af388d
CALL-ID: c6ce41de373f47d8bc3c91231fdea0f6
CSEQ: 1 INVITE
Via: SIP/2.0/TLS 10.1.5.81:58485;ms-received-port=58485;ms-received-cid=203900
CONTENT-LENGTH: 0
ms-diagnostics: 24019;Component="RTCC/5.0.0.0_Test Lync Redirector";Reason="Remote participant mismatch";Source="vm-dev-lyncdev.twdev01.com"
P-ASSERTED-IDENTITY: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>
$$end_record

TL_INFO(TF_PROTOCOL) [1]270C.22E4::03/25/2015-14:59:22.518.005da65d (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(265))[1979629883] $$begin_record
Trace-Correlation-Id: 1979629883
Instance-Id: 19525
Direction: incoming
Peer: 10.1.5.81:58485
Message-Type: request
Start-Line: ACK sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6 SIP/2.0
From: <sip:lync4@twdev01.com>;tag=1f9f0e6509;epid=4dada7ef28
To: <sip:lync3@twdev01.com;gruu;opaque=app:conf:audio-video:id:SD4DPLJ6>;epid=95364369E6;tag=8c22af388d
Call-ID:  c6ce41de373f47d8bc3c91231fdea0f6
CSeq: 1 ACK
Via:  SIP/2.0/TLS 10.1.5.81:58485
Max-Forwards:  70
Content-Length:  0
$$end_record

How to get InCallQuality message with Lync SDN 2.1

$
0
0

Hi all,

We are working on the Lync SDN 2.1 for the new feature of In-call Quality Reporting but have not been able to get the <InCallQuality> message yet. Following is what we have done so far:

 

  1. Update the Lync SDN dialog listener and SDN manager to 2.1.1
  2. installed latest preview Lync client – Skype for Business
  3. manually configuring the Lync client with a configuration file – following the instruction of https://msdn.microsoft.com/en-us/library/office/dn785224.aspx (We have tried to configuration file name with “ocapi_test.config” and “ocapi_test.config.xml”)

 

We can get all other call reporting messages from the SDN manager, for example <Start>, <End>, <QualityUpdate> etc, but the <InCallQuality> message.

 

Anyone have be able to get the <InCallQuality> message with SDN 2.1 successfully? It is greatly appreciated if you could point out what we have missed out.

UserEndpoint appears online to users but can't be called

$
0
0

I have an Lync 2013-based application which:

  1. connects to a UserEndpoint (hereinafter CallCenter)
  2. redirects calls made to CallCenter according to bla bla bla business logic.

At times, a user will see CallCenter in their standard Lync 2013 Client as Online, but if that user attempts to start an IM call with CallCenter, the user receives the message "We couldn't send this message because CallCenter is unavailable or offline."

I haven't been able to identify the process that leads up to this, but if it's happened to one user, then all of the other users experience the same problem when attempting to call CallCenter. The only way I have been able to recover CallCenter has been to restart my application. Regular interaction with CallCenter then resumes without a problem.

If CallCenter is indeed "unavailable or offline", then why does it's Presence appear as "Online"? Is there a need to renew / keep CallCenter's connection alive every so often?

For reference, I connect CallCenter like so:

    UserEndpointSettings settings = new UserEndpointSettings(userURI, _ProxyHost, _ProxyPort);
    settings.AutomaticPresencePublicationEnabled = true;
    settings.Presence.UserPresenceState = PresenceState.UserAvailable;

    _userEndpoint = new UserEndpoint(_Platform.CollabPlatform, settings);
    _userEndpoint.BeginEstablish(res =>
    {
        try
        {
            _userEndpoint.EndEstablish(res);
            _userEndpoint.StateChanged += new EventHandler<LocalEndpointStateChangedEventArgs>(_userEndpoint_StateChanged);
        }
        catch (Exception ex)
        {
            LogError(ex, ErrorReference.EndpointEstablishFailed);
        }
    }, null);


Setting delegates and team members for a user using UCMA

$
0
0

I'm trying to set up delegates and team members for a user using UCMA. I have found this very useful post (that links to some answers) on how to set up call forwarding rules and how to set up simultaneous ring. One of the suggestion is to use Microsoft.Rtc.Internal.Collaboration.Routing which at first glance has everything I'd need.

The problem however is that adding some addresses to Routing.Delegates adds them to the users delegates list, but they are not displayed in the Lync client (see attached picture).

After examining how the Lync client adds these people to the list in the picture, I found out that it's not publishing it via routing category, but using this XML:

<setDelegates xmlns="http://schemas.microsoft.com/2007/09/sip/delegate-management" version="6"><delegate uri="sip:somebody@example.com" action="add"/></setDelegates>

Is there a way how I could publish this XML using UCMA? Or is there some other way for adding people in the list?

Thanks for any suggestion.

UCMA 3.0: UserEndPoint BeginEstablish exception: Microsoft.Rtc.Signaling.ConnectionFailureException

$
0
0

Hello,

  I'm using UCMA 3.0 to write a web service that creates a userEndpoint and attempts to register it via BeginEstablish().  Before this gets called, a CollaborationPlatform object is created and started, successfully.  But when I try to establish the userEndpoint, I get the following error:

Endpoint  failed to establish: Microsoft.Rtc.Signaling.ConnectionFailureException:Unable to establish a connection. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 172.30.228.57:5061

   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at Microsoft.Rtc.Internal.Sip.TcpTransport.OnConnected(Object arg)
   
--- End of inner exception stack trace ---
   at Microsoft.Rtc.Signaling.SipAsyncResult`1.ThrowIfFailed()
   at Microsoft.Rtc.Signaling.Helper.EndAsyncOperation[T](Object owner, IAsyncResult result)
   at Microsoft.Rtc.Collaboration.LocalEndpoint.EndEstablish(IAsyncResult result)
   at appIcLync.IcLyncMgr.EndEndpointEstablish(IAsyncResult ar) in C:\Users\administrator\Documents\Visual Studio 2010\Projects\appIcLync\appIcLync\IcLyncMgr.cs:line 187
Detected at System.Environment.get_StackTrace()
   at Microsoft.Rtc.Signaling.ConnectionFailureException..ctor(String message, Exception innerException)
   at Microsoft.Rtc.Signaling.ExceptionUtilities.TryMapS4Exception(Exception s4Exception, SecurityAssociationContext securityContext, Boolean isSipEndpoint, String traceId, Object parentObject, Object childObject, RealTimeException& ex)
   at Microsoft.Rtc.Signaling.SipTransactionAsyncResult`1.ConnectionConnectCompleted(IAsyncResult result)
   at Microsoft.Rtc.Signaling.SipAsyncResult2`1.MakeCallback()
   at Microsoft.Rtc.Signaling.SipAsyncResult2`1.Complete(TEx ex, Boolean synchronousCompletion)
   at Microsoft.Rtc.Signaling.SipAsyncResult2`1.Complete(TEx ex)
   at Microsoft.Rtc.Signaling.RealTimeConnection.CompletePendingConnects(IEnumerable`1 results, RealTimeException exception)
   at Microsoft.Rtc.Signaling.RealTimeConnection.<.ctor>b__0(SipConnection sender, Object reason)
   at Microsoft.Rtc.Internal.Sip.SipConnection.DisconnectedEventHandler.Invoke(SipConnection sender, Object reason)
   at Microsoft.Rtc.Internal.Sip.SipConnection.FireDisconnectedEvent(Object reason)
   at Microsoft.Rtc.Internal.Sip.SingleThreadedDispatcherQueue.DispatcherCallback(Object queue)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)

getting 480 - Temporarily unavailable

$
0
0

Hi

I am trying implement standalone sip proxy, was using this great post as a sample, but with UCMA 4.0

http://blog.greenl.ee/2011/09/30/standalone-ucma-application/

The sample work very good, I could do call from XLIte sip app and music was playing.

But then I tried some different SIP applications and they all throwing the same 480-Temporarily Unavailable error.

Any suggestions?


Please mark this as answer if it helps.
Microsoft Certified Trainer
Microsoft Certified Professional Developer
Blog: http://www.EnterpriseApplicationsDevelopment.com/

Running UCMA standalone app in Azure VM

$
0
0

Hi

I tried to run standalone UCMA proxy app on azure and that did not work, anyone has such kind of experience?
I opened 5060 port in Endpoint configuration, but I suspect I need more UDP ports to open.

Also there is a 150 ports limit on Azure VM endpoints.

Any suggestions?


Please mark this as answer if it helps.
Microsoft Certified Trainer
Microsoft Certified Professional Developer
Blog: http://www.EnterpriseApplicationsDevelopment.com/

Grammar XML Help

$
0
0

Hello,

I am creating a UCMA menu as a kind of self-service option for customers. I am having trouble with a GRXML file that works, but when I add a line.. it doesn't.

<?xml version="1.0" encoding="utf-8" ?><grammar version="1.0" xml:lang="en-US" mode="voice" root= "Main"
xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0"><rule id="Main" scope="public"><example>Is Lync up?</example><example>Exit</example><example>RT Status</example><example>I need help</example><tag>out.Service="";out.GetHelp="no";</tag><one-of><item>exit</item><item><item>is</item><ruleref uri="#Services" type="application/srgs+xml" /><tag>out.Service=rules.latest();</tag><item>up</item></item><item><item>are tee status</item></item><!-- this section here has trouble --><item><one-of><item>i need help with</item><item>get help</item><!-- if i remove this ruleref and tag, it works fine --><ruleref uri="#Services" type="application/srgs+xml" /><tag>out.Service=rules.latest();</tag></one-of><tag>out.GetHelp="yes";</tag></item></one-of></rule><rule id="Services"><one-of><item> Lync <tag>out="link";</tag> </item><item> Exchange <tag>out="exchange";</tag> </item><item> Sharepoint <tag>out="sharepoint";</tag> </item><item> Network <tag>out="network";</tag></item><item> Security <tag>out="security";</tag></item><item> Physical Security <tag>out="physicalsecurity";</tag></item></one-of></rule></grammar>

the problem is in the main menu where a person can ask for help about a certain service. it seems in that item, I cannot have two tags that get exported back to the code.  so I can either send back that help is requested, or send the service back.. but not both.  with both in, UCMA crashes with an error

"At least one grammar must be loaded before doing a recognition"

Cannot seem to figure this out for the life of me!  It is my first real attempt at speech recognition, so my XML could be all wrong for what I am trying to do in the first place...

Thanks,
Paul

Viewing all 889 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>