CUMI notification subscription timeout

Version 1
    This document was generated from CDN thread

    Created by: Milos Pesic on 03-09-2012 12:42:12 PM
    Hi all,
     
    My name is Milos Pesic from csf2g-voicemail team.
     
    We are working on defect caused by not handling 24h notification subscription timeout in our library.
    I read your wiki page regarding Notification timeout: http://zed.cisco.com/confluence/display/CUC/CUMI+-+Specification
    It says that additional call to /vmrest/mailbox?subscribe is needed to in order for session to be renewed(id will stay the same).
     
    And here is a link with brief summary of call sequence between csf2g voicemail library and UC:
    http://wikicentral.cisco.com/display/CSF2G/CSF2G+Voicemail+-+VMREST+-+Notification+mechanism
     
    As it states we are subscribing for notifications to CUMI tomcat by calling:
     <em style="font-family: Arial, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 17.33333396911621px;">POST   http://<host>/vmrest/mailbox?method=requestnotification
     
    We do not issue /vmrest/mailbox?subscribe at all. I am guessing that calling request notification also creates notification subscription... Please correct me if I am wrong. If it is true is it safe for us to call /vmrest/mailbox?subscribe 24h after we established session as described in our brief summary?
     
    I also tried to analyze Commet Architecture diagram at  http://zed.cisco.com/confluence/display/CUC/CUMI+-+Specification
    Sequence of events:
    1: POST /vmrest/mailbox?subscribe (to tomcat)
    2: vmrest adds sub to db
    3: notifier gets notified of new sub
    ....
    I am wondering what is happening after we call <em style="font-family: Arial, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 17.33333396911621px;">vmrest/mailbox?method=requestnotification?
    Does vmrest add sub to db in that case?
    Also I would like to qurey database (on diagram marked as DynDb) - but I am not aware of its real location and name on server. Is it possible for me to perform sql statements on it just for testing purposes? 
     
    There are many questions in this post and I will appreciate any help.
     
    Thanks,
    Milos
     

    Subject: RE: CUMI notification subscription timeout
    Replied by: Anil Singh on 05-09-2012 09:04:16 AM
    Hi all,
     
    My name is Milos Pesic from csf2g-voicemail team.
     
    We are working on defect caused by not handling 24h notification subscription timeout in our library.
    I read your wiki page regarding Notification timeout: http://zed.cisco.com/confluence/display/CUC/CUMI+-+Specification
    It says that additional call to /vmrest/mailbox?subscribe is needed to in order for session to be renewed(id will stay the same).
     
    And here is a link with brief summary of call sequence between csf2g voicemail library and UC:
    http://wikicentral.cisco.com/display/CSF2G/CSF2G+Voicemail+-+VMREST+-+Notification+mechanism
     
    As it states we are subscribing for notifications to CUMI tomcat by calling:
     <em style="font-family: Arial, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 17.33333396911621px;">POST   http://<host>/vmrest/mailbox?method=requestnotification
     
    We do not issue /vmrest/mailbox?subscribe at all. I am guessing that calling request notification also creates notification subscription... Please correct me if I am wrong. If it is true is it safe for us to call /vmrest/mailbox?subscribe 24h after we established session as described in our brief summary?
     
    I also tried to analyze Commet Architecture diagram at  http://zed.cisco.com/confluence/display/CUC/CUMI+-+Specification
    Sequence of events:
    1: POST /vmrest/mailbox?subscribe (to tomcat)
    2: vmrest adds sub to db
    3: notifier gets notified of new sub
    ....
    I am wondering what is happening after we call <em style="font-family: Arial, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 17.33333396911621px;">vmrest/mailbox?method=requestnotification?
    Does vmrest add sub to db in that case?
    Also I would like to qurey database (on diagram marked as DynDb) - but I am not aware of its real location and name on server. Is it possible for me to perform sql statements on it just for testing purposes? 
     
    There are many questions in this post and I will appreciate any help.
     
    Thanks,
    Milos
     


    Hi Milos,
     


    User can subscribe for Notification to CUMI using below API and it insert  a record in below table e.g it creates a notification subscription.
    <font face="Calibri" size="3"><font face="Calibri" size="3">
     
    </font></font><font face="Calibri" size="3">
     
    </font>
     
    <font face="Calibri" size="3" color="#1f497d"><font face="Calibri" size="3" color="#1f497d">http://<host>/vmrest/mailbox?method=requestnotification</font></font><font face="Calibri" size="3" color="#1f497d"></font>

    <font face="Calibri" size="3" color="#1f497d"><font face="Calibri" size="3" color="#1f497d"> </font></font>

    <font face="Calibri" size="3" color="#1f497d"></font>





    <font face="Calibri" size="3" color="#1f497d"><font face="Calibri" size="3" color="#1f497d"></font></font>

    <font face="Calibri" size="3" color="#1f497d"></font>



     


    <font face="Calibri" size="3"><font face="Calibri" size="3">
     
    </font></font><font face="Calibri" size="3"></font>
     
    You can also see jeety Request log for more details. You can see here Comet doing  HTTP request in every 30 seconds.
    Log path: /usr/local/jetty/logs
    File: request.log
     
    For renew your subscription, you need to send again  "request notification" request.
     
    Let me know , if any more help is required.
     
     
    Thanks
    Anil Singh

    Subject: RE: CUMI notification subscription timeout
    Replied by: Anil Singh on 05-09-2012 09:11:04 AM
    Hi Milos,

    User can subscribe for Notification to CUMI using below API and it insert  a record in below table e.g it creates a notification subscription.
    URL:- http://<host>/vmrest/mailbox?method=requestnotification

    steps:
    go to connection server and type below command to connect to dyndb database and execute below query to see data for subscription expiry :
    e.g.
    [root@ucbu-aricent-vmXYZ ~]# cucsql unitydyndb
    unitydyndb> select * from tbl_eventservicesubscription;


    You can also see jeety Request log for more details. You can see here Comet doing  HTTP request in every 30 seconds.
    Log path: /usr/local/jetty/logs
    File: request.log

    For renew your subscription, you need to send again  “request notification” request.

    Let me know , if any more help is required.

    Thanks
    Anil Singh

    Subject: RE: CUMI notification subscription timeout
    Replied by: Akanksha Agarwal on 05-09-2012 11:16:51 AM
    Hi Milos,

    Here is the list of your questions with their respective answers:

    1) is it safe for us to call /vmrest/mailbox?subscribe 24h after we established session.
    Answer) Yes, it is. We provide two methods for subscription, "subscribe" and "requestnotification". Both does the same that is they subscribe a user to get notification events.

    2) what is happening after we call <em style="font-family: Arial, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 17.33333396911621px;">vmrest/mailbox?method=requestnotification?
    Does vmrest add sub to db in that case?
    Answer) When you hist any of the following APIs:
                   /vmrest/mailbox?method=requestnotification
                   /vmrest/mailbox?method=subscribe

    both return subscription id in response and they get added to the database.

    For example, you have a user Milos in Unity Connection and you subscribe to notifications using method=requestnotification, an entry gets added to the database.

    Now for the same user if you subscribe again using method=subscribe, another entry gets added to the database.

    Now as far as "Normally this is fine for an HTML/JavaScript client, but if for some reason you need to keep the subscription open longer an additional call to /vmrest/mailbox?subscribe would need to be made to renew the subscription (id will stay the same).

    .", this statement is concerned, i would emphasize to read it again and also it's  /vmrest/mailbox?method=subscribe (typing error).

    If you are using a client where in you can have a session live (by using session id or whatever), then by just hitting this API, you'll renew the subscription for the same subscription id. However, if your session is not maintained then another entry will get added to db with new expiration period.

    You can use any of these two methods. It will not create any problem.

    3) Database used is : UnityDynDb and the view that you can access is vw_eventservicesubscription, you can query it.

    Feel free to post your query (if any).

    Regards,
    Akanksha A

    Subject: RE: New Message from Akanksha Agarwal in Cisco Unity Connection(CUC) - CUMI
    Replied by: Milos Pesic on 05-09-2012 12:35:10 PM
    Hi Anil and Akanksha,

    Thank you for your quick responses. I am appreciating this.
    It is much easier now when I know these things you explained.

    Best Regards,
    Milos

    From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
    Sent: Wednesday, September 05, 2012 5:17 PM
    To: cdicuser@developer.cisco.com
    Subject: New Message from Akanksha Agarwal in Cisco Unity Connection(CUC) - CUMI Questions: RE: CUMI notification subscription timeout

    Akanksha Agarwal has created a new message in the forum "CUMI Questions":

    --------------------------------------------------------------
    Hi Milos,

    Here is the list of your questions with their respective answers:

    1) is it safe for us to call /vmrest/mailbox?subscribe 24h after we established session.
    Answer) Yes, it is. We provide two methods for subscription, "subscribe" and "requestnotification". Both does the same that is they subscribe a user to get notification events.

    2) what is happening after we call <em style="font-family: Arial, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 17.33333396911621px;">vmrest/mailbox?method=requestnotification?
    Does vmrest add sub to db in that case?
    Answer) When you hist any of the following APIs:
    /vmrest/mailbox?method=requestnotification
    /vmrest/mailbox?method=subscribe

    both return subscription id in response and they get added to the database.

    For example, you have a user Milos in Unity Connection and you subscribe to notifications using method=requestnotification, an entry gets added to the database.

    Now for the same user if you subscribe again using method=subscribe, another entry gets added to the database.

    Now as far as "Normally this is fine for an HTML/JavaScript client, but if for some reason you need to keep the subscription open longer an additional call to /vmrest/mailbox?subscribe would need to be made to renew the subscription (id will stay the same).

    .", this statement is concerned, i would emphasize to read it again and also it's /vmrest/mailbox?method=subscribe (typing error).

    If you are using a client where in you can have a session live (by using session id or whatever), then by just hitting this API, you'll renew the subscription for the same subscription id. However, if your session is not maintained then another entry will get added to db with new expiration period.

    You can use any of these two methods. It will not create any problem.

    3) Database used is : UnityDynDb and the view that you can access is vw_eventservicesubscription, you can query it.

    Feel free to post your query (if any).

    Regards,
    Akanksha A
    --
    To respond to this post, please click the following link:

    <http://developer.cisco.com/web/cuc/forums/-/message_boards/view_message/6424007>

    or simply reply to this email.