El documento describe las capacidades de Corporate IP en Symbian S60, incluyendo el framework IMS, capacidades como presencia y mensajería IMS, y capacidades SVA como directorio corporativo, contactos en red y sincronización de agendas. Se explican los procedimientos para crear e implementar estas capacidades en aplicaciones.
6. Framework IMS ¿Qué es?
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
Aplicación Framework CORPORATE
Corporate IP IMS IP
movilforum 5
Telefónica España, S.A.
7. 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
movilforum 6
Telefónica España, S.A.
8. 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)
movilforum 7
Telefónica España, S.A.
9. Cómo usarlo (I)
1.Obtener instancia del IMSFramework
y proporcionar una referencia a un
objeto que implemente el Observer
CIMSFramework* iFramework = CIMSFramework::NewL(
);
iFramework->SetIMSFrameworkObserver( this );
Métodos de la interfaz del Observer
virtual void IMSProfileEnabled() = 0;
virtual void IMSProfileDisabled() = 0;
virtual void IMSProfileRegistryError() = 0;
virtual void IMSAppRegistered() = 0;
virtual void IMSAppDeRegistered() = 0;
virtual void IMSAppError() = 0;
movilforum 8
Telefónica España, S.A.
10. Cómo usarlo (II)
2. Crear el objeto contenedor de
capacidades IMS:
CIMSAppCapabilities* iIMSAppCapabilities =
CIMSAppCapabilities :: NewL();
iIMSAppCapabilities->SetAppUid( KMyAppUid );
3. Añadir las capacidades IMS que
utilice nuestra aplicación
Ejemplo (basado en la capacidad de
presencia)
CIMSPresenceCapability* cIMSPresence =
CIMSPresenceCapability::NewL( );
cIMSPresence->StartCapability();
iIMSAppCapabilities-> AddIMSCapabilityL
(_L("PUBLISH"), cIMSPresence);
iIMSAppCapabilities-> AddIMSCapabilityL
(_L("SUBSCRIBE"), cIMSPresence);
iIMSAppCapabilities-> AddIMSCapabilityL
(_L("NOTIFY"), cIMSPresence);
movilforum 9
Telefónica España, S.A.
11. Cómo usarlo (III)
4. Registro de la aplicación con las
capacidades deseadas en el
IMSFramework
TInt err = iFramework->RegisterIMSApp(
iIMSAppCapabilities );
5. Solicitar inicio de registro del perfil
SIP
iFramework->RegisterSipProfile();
movilforum 10
Telefónica España, S.A.
12. 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
movilforum 11
Telefónica España, S.A.
14. 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
movilforum 13
Telefónica España, S.A.
15. Mensajería IMS. Cómo usarlo (I)
Procedimiento de creación de la
capacidad
CIMSIMCapability* cIMSIM = CIMSIMCapability::NewL(
);
cIMSIM->StartCapability();
cIMSIM->SetIMObserver( this );
iIMSAppCapabilities->AddIMSCapabilityL(
_L("MESSAGE"), cIMSIM );
Interfaz del Observer de la capacidad
virtual void MessageAcceptedL(
CIMSIMCapabilityHandler* aHandler );
virtual void MessageErrorL( TInt aErrorCode,
CIMSIMCapabilityHandler* aHandler );
virtual void MessageReceivedL(
CIMSIMCapabilityHandler* aHandler );
movilforum 14
Telefónica España, S.A.
16. Mensajería IMS. Cómo usarlo (II)
Ejemplo: envío de IM
CIMSIMCapability* 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
movilforum 15
Telefónica España, S.A.
17. 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 mensaje
aHandler->GetRecipientLC();
• 3. Extracción de dirección SIP del usuario
origen del mensaje
aHandler->GetSenderLC();
• 4. Extracción del contenido mensaje
aHandler->GetMessageContent();
• 5. Eliminar Handler de la capacidad una vez
tratado el evento
CIMSIMCapability* cap = ( CIMSIMCapability* )
iIMSAppCapabilities->GetIMSCapabilityL(
_L("MESSAGE") );
cap->DeleteHandler( aHandler );
movilforum 16
Telefónica España, S.A.
22. Directorio corporativo. Resumen
Suscribirse a los paquetes de eventos
“address-book” y “service-package”
Obtener una instancia de
NetworkFavouritesEngine
Ejecutar método de búsqueda por el
criterio de búsqueda deseado
Obtener y presentar/utilizar los
resultados de la búsqueda
movilforum 21
Telefónica España, S.A.
23. Contactos en red. Resumen
Suscribirse a los paquetes de eventos
“address-book” y “service-package”
Obtener una instancia de
NetworkFavouritesEngine
Ejecutar la operación deseada
movilforum 22
Telefónica España, S.A.
24. 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
movilforum 23
Telefónica España, S.A.
25. 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
movilforum 24
Telefónica España, S.A.