[Jingle] [Fwd: [Standards] Comments on xep-025 standard]

Peter Saint-Andre stpeter at stpeter.im
Wed Apr 15 18:06:06 CDT 2009


FYI regarding XEP-0251: Jingle Session Transfer...


-------- Original Message --------
Subject: 	[Standards] Comments on xep-025 standard
Date: 	Wed, 15 Apr 2009 18:25:40 +0100
From: 	Dawid Nowak <dawid.nowak at nortel.com>
Reply-To: 	XMPP Standards <standards at xmpp.org>
To: 	<standards at xmpp.org>



Hi,
I am no expert in XMPP but have been looking at this standard from a
call centre operator perspective and have following comments :

1. Caller always knows the address of Callee as it gets it from
Attendant in the transfer message. I suppose Callee and Attendant know
about each other but I am not sure if the same could be said about
Caller. It is possible to envisage the scenario where Caller is ringing
a well known public number, is asked some questions by the IVR and
transferred to a specific consultant based on hers/his answers.

In the current proposal Attendant seems to pass Callee's address to
Caller without Callee's knowledge or permission. This address could
later be used to call Caller directly.

2. I think current proposal gives Caller too much control over the
transfer and it should be Attendant who controls the transfer scenario.

3. Currently Callee can not indicate to Attendant that it can not accept
transfer.


I have modified the existing diagram to reflect these points.

Unattended transfer

Caller                 Attendant(IVR,etc)         Callee
  |                        |                        |
  |   session-initiate     |                        |
  |----------------------->|                        |
  |   ack                  |                        |
  |<-----------------------|                        |
  |   session-accept       |                        |
  |<-----------------------|                        |
  |   ack                  |                        |
  |----------------------->|                        |
  |    AUDIO (RTP)         |                        |
  |<======================>|                        |
  |                        |                        |
  |                 transfer-indication             |
  |                                |----------------------->|
  |                        |          ack           |
  |     transfer           |<-----------------------|
  |<-----------------------|                        |
  |       ack              |                        |
  |----------------------->|                        |
  |                 session-initiate                |
  |------------------------------------------------>|
  |                 session-accept                  |
  |<------------------------------------------------|
  |                       ack                       |
  |------------------------------------------------>|
  |                    AUDIO (RTP)                  |
  |<===============================================>|


Where transfer-indication is:

<iq from='attendant at office.biz/desk'
        id='transfer-indication1'
        to='boss at bigdesk.biz/phone'
        type='set'>
        <jingle xmlns='urn:xmpp:jingle:0'
                action='session-info'
                initiator='caller at world.sun/phone'
                responder='attendant at office.biz/desk'
                sid='851ba2'>
        <transfer-indication xmlns='urn:xmpp:jingle:transfer:0'
        from='caller at world.sun/phone'
transfer-placeholder='transfer at office.biz/transfer1'
transfer-id='unique-transfer-id'/>
        </jingle>
</iq>


Attendant sends Transfer back to Client. This message could also
indicate that existing call between Caller and Attendant should be
terminated.

<iq from='attendant at office.biz/desk'
        id='transfer1'
        to='caller at world.sun/phone'
        type='set'>
        <jingle xmlns='urn:xmpp:jingle:0'
                action='session-info'
                initiator='caller at world.sun/phone'
                responder='attendant at office.biz/desk'
                sid='851ba2'>
        <transfer xmlns='urn:xmpp:jingle:transfer:0'
        to='transfer at office.biz/transfer1'
                transfer-id='unique-transfer-id'/>

         </jingle>
</iq>


And Client initiates a new session to a placeholder address which the
switch translates into a valid address.

<iq from='attendant at office.biz/desk'
        id='jingle3'
        to='transfer at office.biz/transfer1'
        type='set'>
        <jingle xmlns='urn:xmpp:jingle:0'
                action='session-initiate'
                initiator='caller at world.sun/phone'
                sid='1a332d'>
                <content creator='initiator'
                disposition='session'
                name='voice'>
                        <description xmlns='urn:xmpp:jingle:apps:rtp:0'
                  media='audio'>
                        <payload-type id='0' name='PCMU' />
                        </description>
                        <transport
xmlns='urn:xmpp:jingle:transports:ice-udp:0'/>
                </content>
                <transfer xmlns='urn:xmpp:jingle:transfer:0'
transfer-id='unique-transfer-id'/>
        </jingle>
</iq>

Regards
Dawid Nowak


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 6751 bytes
Desc: S/MIME Cryptographic Signature
Url : http://mail.jabber.org/pipermail/jingle/attachments/20090415/e3291999/attachment.bin 


More information about the Jingle mailing list