bloque iii. arquitectura corporate ip en symbian s60
TRANSCRIPT
Jornada técnica: Corporate IP
Madrid, 22 de febrero 2011
Bloque III. Arquitectura Corporate IP en Symbian S60
movilforumTelefónica España, S.A.
1
Índice
Framework IMS ¿Qué es?Como usarlo
Capacidades IMSPresenciaMensajería
Capacidades SVADirectorio corporativoContactos en redSincronización agenda
01
02
03
movilforumTelefónica España, S.A.
2
Antes de empezar…
No Symbian S60 newbies beyondthis point
movilforumTelefónica España, S.A.
3
Posibles efectos secundarios
movilforumTelefónica España, S.A.
4
Framework IMS
Telefónica España, S.A.movilforum
movilforumTelefónica España, S.A.
5
Framework IMS ¿Qué es?
5
Framework IMS
Aplicación Corporate IPAplicación
Corporate IPCORPORATE
IP
Para que las aplicaciones utilicen las capacidades IMS es necesario que dispongan
de un punto de acceso a dichas capacidades y de un
perfil SIP
movilforumTelefónica España, S.A.
6
Framework IMS ¿Qué es?
Nucleo de la gestión de las capacidades y los perfiles SIP
Funciones• Asociar capacidades a nuestra aplicación• Acceso al nucleo IMS• Registro y desregistro de perfiles SIP• Suscripción a eventos de los perfiles SIP
movilforumTelefónica España, S.A.
7
Acceso a IMS
Funciones del stack SIP de Symbian• Acceso a redes de datos 2G a 3G• Registro de un perfil SIP concreto• Gestión de señalización SIP a bajo nivel
(métodos, diálogos, sesiones…)
Perfil SIP. Elementos de información• Datos de usuario (IMPU, IMPI, password)• Tipo de acceso SIP (seguridad, compresión,
perfil 3GPP/IETF…)• Datos de red (Proxy/SBC, Registrar,
dominio)
movilforumTelefónica España, S.A.
8
Cómo usarlo (I)
1.Obtener instancia del IMSFramework y proporcionar una referencia a un objeto que implemente el ObserverCIMSFramework* iFramework = CIMSFramework::NewL( );iFramework->SetIMSFrameworkObserver( this );
Métodos de la interfaz del Observervirtual void IMSProfileEnabled() = 0;virtual void IMSProfileDisabled() = 0;virtual void IMSProfileRegistryError() = 0;virtual void IMSAppRegistered() = 0;virtual void IMSAppDeRegistered() = 0;virtual void IMSAppError() = 0;
movilforumTelefónica España, S.A.
9
Cómo usarlo (II)
2. Crear el objeto contenedor de capacidades IMS: CIMSAppCapabilities* iIMSAppCapabilities = CIMSAppCapabilities :: NewL();iIMSAppCapabilities->SetAppUid( KMyAppUid );
CIMSPresenceCapability* cIMSPresence = CIMSPresenceCapability::NewL( );cIMSPresence->StartCapability();iIMSAppCapabilities-> AddIMSCapabilityL (_L("PUBLISH"), cIMSPresence);iIMSAppCapabilities-> AddIMSCapabilityL (_L("SUBSCRIBE"), cIMSPresence);iIMSAppCapabilities-> AddIMSCapabilityL (_L("NOTIFY"), cIMSPresence);
3. Añadir las capacidades IMS que utilice nuestra aplicaciónEjemplo (basado en la capacidad de presencia)
movilforumTelefónica España, S.A.
10
5. Solicitar inicio de registro del perfil SIP
Cómo usarlo (III)
4. Registro de la aplicación con las capacidades deseadas en el IMSFrameworkTInt err = iFramework->RegisterIMSApp( iIMSAppCapabilities );
iFramework->RegisterSipProfile();
movilforumTelefónica España, S.A.
11
Cómo usarlo (y IV)
Resumen•Obtener instancia del framework•Asignar el observer•Crear el objeto contenedor de la
capacidades•Crear las capacidades y añadirlas al
objeto contenedor•Registrar las capacidades de
nuestra aplicación en el framework•Registrar el perfil SIP
movilforumTelefónica España, S.A.
12
Capacidades IMS
Telefónica España, S.A.movilforum
movilforumTelefónica España, S.A.
13
Mensajería IMS. Introducción
APIs Corporate IP: IM Modo Pager• Basado en método SIP MESSAGE (RFC 3428)• Sesiones 1-a-1, contenidos pequeños-medios• Cualquier tipo de contenido.• Soporte de contenido text/plain OBLIGATORIO• Soporte de contenido message/cpim OPCIONAL
Modos de comunicación• Persona a persona / Persona a servicio / Persona a
máquina• Tiempo real / diferida
movilforumTelefónica España, S.A.
14
Mensajería IMS. Cómo usarlo (I)
Procedimiento de creación de la capacidadCIMSIMCapability* cIMSIM = CIMSIMCapability::NewL( );cIMSIM->StartCapability();cIMSIM->SetIMObserver( this );iIMSAppCapabilities->AddIMSCapabilityL( _L("MESSAGE"), cIMSIM );
virtual void MessageAcceptedL( CIMSIMCapabilityHandler* aHandler );virtual void MessageErrorL( TInt aErrorCode, CIMSIMCapabilityHandler* aHandler );virtual void MessageReceivedL( CIMSIMCapabilityHandler* aHandler );
Interfaz del Observer de la capacidad
movilforumTelefónica España, S.A.
15
Mensajería IMS. Cómo usarlo (II)
Ejemplo: envío de IMCIMSIMCapability* cap = ( CIMSIMCapability* ) iIMSAppCapabilities->GetIMSCapabilityL( _L("MESSAGE") );CIMSIMCapabilityHandler* handler = ( CIMSIMCapabilityHandler* )cap->GetNewCapabilityHandler( );handler->SetIMObserver( this );handler->SendInstantMessageL( aMessage, SIPUri8->Des() );//siendo la SIPUri8 la dirección del contacto
movilforumTelefónica España, S.A.
16
Mensajería IMS. Cómo usarlo (III)
Recepción IM. Procedimiento• 1. Suscripción a eventos del Observer de IM• 2. Extracción de dirección SIP del usuario
destino del mensajeaHandler->GetRecipientLC();
aHandler->GetSenderLC();
aHandler->GetMessageContent();
CIMSIMCapability* cap = ( CIMSIMCapability* ) iIMSAppCapabilities->GetIMSCapabilityL( _L("MESSAGE") );cap->DeleteHandler( aHandler );
• 3. Extracción de dirección SIP del usuario origen del mensaje
• 4. Extracción del contenido mensaje
• 5. Eliminar Handler de la capacidad una vez tratado el evento
movilforumTelefónica España, S.A.
17
Mensajería IMS. Cómo usarlo (y IV)
Ejemplo recepción mensajevoid CIMCapabilityCore::MessageReceivedL( CIMSIMCapabilityHandler* aHandler )
{iObserver->MessageReceived( aHandler-> GetMessageContent(), *aHandler-> GetSenderLC() );CleanupStack::PopAndDestroy();CIMSIMCapability* cap = ( CIMSIMCapability*) iIMSAppCapabilities->GetIMSCapabilityL( _L("MESSAGE") );cap->DeleteHandler( aHandler );}
movilforumTelefónica España, S.A.
18
Una recomendación…
movilforumTelefónica España, S.A.
19
Ya podeis mirar… ¡No era para tanto!
movilforumTelefónica España, S.A.
20
Capacidades SVA
Telefónica España, S.A.movilforum
movilforumTelefónica España, S.A.
21
Directorio corporativo. Resumen
Suscribirse a los paquetes de eventos “address-book” y “service-package”Obtener una instancia de NetworkFavouritesEngineEjecutar método de búsqueda por el criterio de búsqueda deseadoObtener y presentar/utilizar los resultados de la búsqueda
movilforumTelefónica España, S.A.
22
Contactos en red. Resumen
Suscribirse a los paquetes de eventos “address-book” y “service-package”Obtener una instancia de NetworkFavouritesEngineEjecutar la operación deseada
movilforumTelefónica España, S.A.
23
Sincronización de agenda (I)
La sincronización de agenda nos permite sincronizar la agenda de contactos de nuestras aplicaciones con la agenda de contactos del usuario en el servicio Copiagenda
movilforumTelefónica España, S.A.
24
Sincronización de agenda (II)
Procedimiento para sincronización
CSyncMLCapabilityCore* iSyncMLCore = CSyncMLCapabilityCore::NewL( this );iSyncMLCore->SetObserver( aSyncMLCapabilityCoreObserver );iSyncMLCore->StartSynchronization( aSyncType );
Métodos de sincronización posibles• ESmlTwoWay• ESmlOneWayFromServer• ESmlOneWayFromClient• ESmlSlowSync• ESmlRefreshFromServer• ESmlRefreshFromClient
ESmlOneWayFromClient es el método aconsejado