rayo / xmpp

Fork of the XMPP XEP repo
http://gitorious.org/xmpp
3 stars 3 forks source link

AMD on Rayo #73

Closed benlangfeld closed 10 years ago

benlangfeld commented 10 years ago

This is a marker for discussion. I'll add my thoughts over the next couple of days.

benlangfeld commented 10 years ago

Tagging @crienzo.

benlangfeld commented 10 years ago

There's a draft for a CPA spec here. This is mostly complete and I think we should use it as the basis for formal specification. @crienzo @mpermar @loopingrage Any concerns with what's documented there?

crienzo commented 10 years ago

Using SRGS seems a little weird. I can go with that if necessary, but it would be easier for me if we had a different document type or if we used a new component.

benlangfeld commented 10 years ago

I agree it's a little weird. The motivation was this:

  1. We need compose-able references to multiple types, as well as attributes to apply to those.
  2. SRGS has compose-ability (rule references) and metadata to fit this.

If anyone knows of an appropriate document format, I'd love to hear it. It's something I feel should have the potential to become a standard such that CPA vendors might implement it independently of Rayo for use via MRCP.

mpermar commented 10 years ago

No concerns on this side. All I can say is that our rayo server does currently follow that spec. and all stuff documented there is working.

crienzo commented 10 years ago

OK, if this is already working, then I can implement on my server.

mpermar commented 10 years ago

Some working test cases: https://github.com/rayo/rayo-functional-tests/blob/develop/src/test/java/com/rayo/functional/rayoapi/RayoCPATest.java

benlangfeld commented 10 years ago

I've written a first draft of an extension specification for CPA. This has some minor differences from the version in the wiki, but it still uses the special SRGS grammar format. I will be putting some thought into an alternative, simpler format to replace this later today.

benlangfeld commented 10 years ago

The draft spec has been updated to use special URIs instead of the SRGS grammars previously, like so:

<iq from='juliet@capulet.lit/balcony'
    to='9f00061@call.shakespeare.lit'
    type='set'
    id='h7ed2'>
  <input xmlns='urn:xmpp:rayo:input:1' mode='cpa'>
    <grammar url="urn:xmpp:rayo:cpa:speech:1?maxTime=4000;minSpeechDuration=4000;minVolume=10;finalSilence=2000;terminate=true" />
    <grammar url="urn:xmpp:rayo:cpa:dtmf:1" />
  </input>
</iq>
benlangfeld commented 10 years ago

I wonder wether the mode attribute should move from <input/> to <grammar/>? The only use case for it is when grammars are referenced by URL to avoid the Rayo server having to fetch the grammar to inspect its type, much like the content-type attribute.

crienzo commented 10 years ago

My only use case for using input mode is to decide whether the server needs to parse the grammar or pass it along to an MRCP server.

benlangfeld commented 10 years ago

@crienzo I figure this is what you're referring to. More generally I think this should be dependent only on the recognizer attribute which can be used to decide which recognizer to route to.

I'll open a new issue on this, but since it's backward incompatible I won't incorporate it immediately.

benlangfeld commented 10 years ago

I think everyone is satisfied with the current spec and I'll submit it to the XSF for publishing today. They will take up to 2 weeks to publish it.