A communication solution using mobile technology as a learning and training platform for any mobile workforce.

Communicator – An Overview


Mezzanine’s Communicator Programme:

    • Structured content scheduled for individual users via SMS and IVR (Interactive voice response).
    • Enablement tools:
      • Group chat.
      • Job aids & decision trees.
      • Content search.
      • Diagnostic trees.
    • Worker supervision:
      • Performance management reports.
      • Workforce management data.
    • Compliance content and on-the-job training.

Leap Client Information

Mezzanine Helpdesk Details

Lucinda Basjan and Tanswill Achilles can be contacted on the dedicated, second line support desk. Email support tickets are automatically assigned a Zendesk ticket number:

Understanding the flow of data through the Communicator

This Operational Support wiki assumes a certain level of existing knowledge about the working of the Communicator system. Contact the Learning Manager for more support in this regard.

The Communicator_Kenya Integration Architecture v5.pptx document illustrates the various system elements, their owners and how data flows through the various sub-systems.

Diagnosing Common User Challenges

Not receiving SMS messages

Follow the steps below to diagnose the reason for users complaining that they are not receiving SMS messages
  1. Check that the expected user activity has been scheduled through helium (R1).
  2. Check that helium has indeed sent the message (R2).
  3. Check that the SMS Aggregator has indeed sent the message (R3).
  4. Check for other, unexpected activity delays (R6).
  5. Contact the Mezzanine Helpdesk if the problem cannot be resolved.

No IVR activity available

Follow the steps below to diagnose the reason for users complaining that they are not able to access IVR content
  1. Check that the IVR Gateway is functional by dialling the relevant number from a Safaricom SIM number.
  2. Check that the expected user activity has been scheduled through helium (R1).
  3. Check that the IVR has been confirmed as scheduled inside the IVR middleware (R4).
  4. Use the IVR Reporting tools to explore the IVR View from the IVR Gateway perspective (R5).
  5. Check for other, unexpected activity delays (R6).
  6. Contact the Mezzanine Helpdesk if the problem cannot be resolved.

Recommendations for exploring sub-systems

R1. Scheduling user activity within the Communicator helium site

Check with the Learning Manager and confirm on the client summary page that activity has been scheduled.

Follow the Static Setup link from the sidebar to see a guide to the status codes of Topics, Sequences and Activities.

R2. Ensuring that helium has sent the messages

Visit the System Overview page and then select Monitoring.

  1. Check that the SMS queue has no items that are unnecessarily pending.
    1. Note that multiple messages to the same user can result in a list of valid, but pending, messages remaining in the queue.
    2. Note that the SMS queue can be "forced" through manually elsewhere in the site.
    3. The Client Summary page will show all outbound and inbound messages relevant to the client's phone number.
  2. If the SMS queue is not being cleared every minute, contact the Mezzanine Helpdesk.

R3. Ensuring that the SMS Aggregator has sent the message

How to check message status within the systems of the current SMS aggregator

Information regarding the message status of the current aggregator, /wiki/spaces/SUP/pages/6657943, can be located through the following steps:
  1. Visit their helpdesk site and log in (username: mezzanine, password: mezzanine).
  2. Check to see how many credits are available for use. 
    1. If no credits are available, contact Mezzanine Finance through the Mezzanine Helpdesk to load more credits.
  3. If credits are available, use the reports menu option on the top menu and create a report to evaluate the status of the latest SMS messages.
  4. Check the status of the SMS messages through reformatting the Cellulant report example.

    1. "Sent" : The message has been handed over to Safaricom. In practice, this is often the "end state" of messages and can be taken as a proxy for delivery.
    2. "Delivered" : Safaricom has confirmed delivery of message to the recipient. In practice, messages are often not confirmed as "delivered", even though they have been.
    3. "Pending" : Messages are awaiting a handing over to Safaricom via the "retry" function within the Cellulant system.
    4. "Failed" : Messages have not been successfully handed over to Safaricom and will not be forwarded to Safaricom again.
  5. If messages are in the "failed" state, contact Mezzanine Infrastructure through Mezzanine Helpdesk to resolve.
    1. Note that message statuses may not always update immediately and that "automatic retry" functionality is enabled with the aggregator - it is therefore advised that users wait at least 30 minutes before reporting an issue.

R4. Ensuring that the IVR has been scheduled inside the IVR middleware

Visit the System Overview page and then select Monitoring.

  1. Check that the URL Scheduler has no items that are unnecessarily pending.
  2. This table contains the IVR activities that have been scheduled by helium, but not yet confirmed as received by the IVR middleware.
  3. If the URL Scheduler queue is not being cleared every 30 seconds, contact the Mezzanine Helpdesk.
    1. Note that the IVR Mapping Table page, also available as a link from the System Overview page, contains a list of IVR activities that have been scheduled through the URL Scheduler (part 1, part 2).
  4. If there are no pending items in the URL Scheduler, check the availability of IVR activities for the client through the IVR Reporting Overview section (below).
  5. If the relevant IVR activity has been scheduled for the user, but it is not available after following these steps, contact the Mezzanine Helpdesk.

R5. IVR Reporting Overview

How to use the IVR reporting feature available through the HTTP middleware

The following table lists a few sample URL links in order to highlight the main reporting options.

Individual IVR Report URLSpecific user history : all events. Also available on Client Summary.User_ID=27835912369Activity_ID=reportInstruction_Code=0
IVR Report URLAll users history : last 25 events.User_ID=allActivity_ID=reportInstruction_Code=0
IVR Report Per Instruction Code All users history for specific instruction code: all events.User_ID=reportActivity_ID=noneInstruction_Code=10

Please review this HELP_IVR_Helpfile if you require more information on the IVR process.

R6. Checking for other unexpected activity delays

Visit the System Overview page and then select Monitoring.

  1. Check that the Pending Activities has no items that are unnecessarily pending.
    1. Note that this table simply shows all activities that have not been completed within 15 minutes.
    2. It can therefore be seen as a proxy for various different system issues that might be constraining users.
  2. Check that the Last Activity by Type table displays plausible information.
    1. Note that this table simply shows the last user-driven activity according to each of the 3 "types": 
      1. Inbound SMS (ie "MO" messages sent by users) 
      2. Outbound SMS (ie "MT" messages sent to users)
      3. IVR *done* (ie completed IVR activity sequence)
  3. These tables should be monitored to ensure that a plausible flow of users through activities is maintained.
  4. If an unexpected build-up in either of the two queues is observed, follow the other troubleshooting steps recommended here.
  5. If the problem cannot be identified, contact the Mezzanine Helpdesk.
    1. Note that we can define any set of criteria to monitor the flow of users through the system and trigger similar "warning" tables and pro-active SMS messages.

Other Frequently Asked Questions

WebPortal FAQ's

QuestionDescription/ Answer

I want to find out the performance a topic that my Community Unit has done. How do I go about this?

You will go to the homepage - Click on View CU reports - Click on CU performance report.

My Community Units performance report on indicates that a number of CHVs are still in progress. How can I know who the learners are?

On the homepage click on view CU reports - Click on laggard report - Select the specific CU that you want - Click on filter then the names and the contacts of the CHVs who are in progress will appear

How do I know which topics my Community unit has been done?

On the homepage click on view CU reports - Click on topics deployed - You will be able to see which topics your CU are currently on, the ones they have completed and the expired topics

I need to communicate to all CHVs about some additional content in the topic they are on. How do I do this?

Go to homepage - Click on send message - Select the recipient - Click on next - Select the CU - Click on the black option on the message template - Click next - Write your message on the SMS text - Send SMS

I want to know all the available mLearning topics that the CHVs can be scheduled on? How do I do his?

Click on Homepage - Click on view CU inventory - Click on topic catalogue All the available topics will be displayed

I want to find out which CHVs in my CU are enrolled on mlearning

Click on homepage - Click on view CU inventory - Click on CHV register - Click the filter button - Choose the CU that you require. - You will get the details of the CHVs in that particular CU

I want to find the phone number of a particular CHV, what do I do?

Click on homepage - Click on view CU inventory - Click on CHV register - Click the filter button - Choose the CU that you require. - You will get the details of the CHVs in that particular CU - Click on the name of the relevant CHV you will be able to view the information

I am experiencing problems when I reschedule a particular topic, the topic appears as a separate session instead of rescheduling the same.

When I schedule a user on a topic that he/she had previously not completed it schedule a fresh one instead of prompting you to reschedule and not schedule, as there is an existing schedule that's expired.

See below screenshots:

Before reschedule and after reschedule

The behaviour described is consistent with sub-topics of type "content" that has been set up in the setting as "SubTopicTypesAllowedDuplicateScheduling".

The sub-topic of that type can be scheduled in duplicate without prompting the user to reschedule or cancel first. The setting needs to be changed to remove sub-topics of type "content" from the list, and then users will not be able to create a new schedule for that same sub-topic. It will then not duplicate.

This can be set by anyone with admin access.

Steps on how to change this:

  1. Login as an admin user
  2. Click on admin controls, click on
  3. Navigate to system settings


I am receiving an error message "your connection is not private" when logging in to the helium web portal. How can this be rectified?

This can be rectified by allowing your antivirus program to accept the URL.

The following test can also be taken to see if the URL certificate information is up to date:

Step 1: Login to the helium web portal.

Step 2: At the top left hand side of the screen, click on secure.

Step 3: Go down to certificate an click on invalid.

Step 4: On the certificate information screen, check the valid from dates. Should the date not display the latest dates, you need to contact Mezzanine in order to rectify this on their side.

If the date is correct and you are still receiving the error message that the page has been blocked, you need to rectify this by allowing your antivirus program to accept the URL.


I have come across a performance issue esp on practicum, it gives me unusual results. The total practicum score is 100 and the system is indicating 700 instead of 70.

The practicum all alocate 100 points per correct answer.

If a practicum score is set during the "Skip logic" setup the default is allocated from the settings table. This is currently set to 100, it will therefore allocate 100 points per correct answer.

This can be adjusted on a "per skip logic question" basis. For this logic - reference to the documentation created for new content creation.

For this reason, the practicum score is adjusted to a percentage before it is used in any of the calculations.


I’ve counterchecked the system and realised the following:

System can’t reschedule T14 because it is still on schedule

I’ve randomly identified one learner who received the introductory messages for T14 a few minutes after midnight (Rachel Wanjiru 254726973308 – Baraka CU)

I’ve sent ‘Progress’ for all the 3 groups but some learners receive messages for T13 which had expired while others receive messages that they do not have any current activities (e.g. Linda Njiru 254790393918 from the same Baraka CU)

The groups are: Nairobi_Baraka, Nairobi_G7 and Nairobi_Umoja Pioneer

The topics that had an issue were T13, T14 and T128. However, the topics started but there was a delay since most of the community units received them yesterday and they had been scheduled on Monday and Wednesday respectively .

The initiation of new learning topics for most learners was “paused” during most of last week because we have capped the number of new users who can start a new learning topic at 50 users.

The reason has that LEAP content, historically, contains IVR and SMS. And that the IVR system could not handle too many simultaneous calls. Therefore the mass scheduling on the survey topic (TVERIFICATION) meant many other learners came to a standstill but since this do not happen very often, we can check status again in the future by using the attached reports.

12.How to see if the IVR is down? /wiki/spaces/SUP/pages/6653520
13.How to see calls that has not been processed successfully?

Users chat but the chats are not reflecting under the score. See screenshot attached. 


The chat count is recorded in real-time... that's the "9" chat messages in the summary above. The chat score is however only calculated at the "escalation" time for the entire group - you will see that in the summary above as the 5th of August. On that day, the chat score for all participants will be calculated taking into account the chat weight. This is due to some of the parameters, within LEAP, that can determine that only some users receive a chat score (based on e.g. the most active chatter). These are not currently in force, but it still determines WHEN the proper chat score is calculated.

I have updated the fixed messages on the platform to reflect the short-code in SA but users are still receiving the 21899 that we use in Kenya. Please see below the fixed messages and the responses that users are getting is there anything that I need to do in order to update the fixed messages?

The content that was uploaded for these learning Topics contain static text as reminders to community health workers to complete the learning content. This static text certainly has to be edited - this is not created by the platform, but by the users. It must be edited to reflect the correct number. 

We are failing to schedule a topic to a single user as the names are not appearing, looks like the drop down button is not working (disabled). 

See screenshot attached. 

The button is not disabled, you need to choose the group above first for the users to appear.

Mobile FAQ's

QuestionDescription/ Answer

What can I find in the Application?  

The App provides a database of your CHVs and mLearning topics, a summary of the performance of your CU, how the CHVs are progressing in the program, who are lagging behind, and ability to send reminders and group messages to all CHVs as well as sending messages to other CHEWS.

The App keeps sending an Error message every time I click on a button more than once

It happens especially when you are in an area that has low connectivity. Try to be a little bit more patient by not clicking the button twice in a row

I keep getting messages from different sources all related to the mLearning program. What is causing this?

The App is using a bulk messaging service which is determined by the network provider. We currently have no control over this, but are working to resolve it

Where can I go for help if I am stuck?

Please call the Help desk on 0800720270 to get help on how to access and use the App
5.I am having an issue with my toll free IVR number (0800-722-689). Note that some users are being directed to the help desk line (0800-720-270) when they are actually trying to connect to the IVR. Hence making it difficult for them to progress with trainings.The IVR environment is completely within the control of Safaricom. Mezzanine don't whitelist any numbers from their end. The client needs to report/escalate this issue to Safaricom.

We currently have learners who are continuing with various topics and once the learner dials in, it automatically tells him or her they have no voice based activity and yet the topic is active then breaks.

An example of user is: Winfred Luyeku Kakamega_Lirhembe 254727547427

Example of Jira reference:

Such an issue can be logged with the developing team since the user should receive activities when they call in and the activities were setup. When the users call in and are routed to something else or another number (example Question 5) then it is an Safaricom Issue.

7.We received reports that the learners aren't able to use the group chat functionality via the short code 21899. From feedback received MT is working and the issue being experienced is around MO. Please follow the steps below:

If we are not receiving ANY MO messages, that must be raised with Cellulant.

If we are not receiving MO messages from these specific users, but we are from others, that too must be raised with Cellulant.

If we are receiving MO messages from these specific users, but it's not triggering the expected outbound "group" message, then please provide an audit trail of those specific inbound MO messages that were expected to go out as group messages that did not. Then we can investigate those very specific examples.