static void timer_cb( pj_timer_heap_t *th,
		      pj_timer_entry *entry)
{
    pjsua_timer_list *tmr = (pjsua_timer_list *)entry->user_data;
    void (*cb)(void *user_data) = tmr->cb;
    void *user_data = tmr->user_data;

    PJ_UNUSED_ARG(th);

    if (cb)
        (*cb)(user_data);

    pj_mutex_lock(pjsua_var.timer_mutex);
    pj_list_erase(tmr);
    pj_list_push_back(&pjsua_var.timer_list, tmr);
    pj_mutex_unlock(pjsua_var.timer_mutex);
}
static void timer_cb( pj_timer_heap_t *th,
		      pj_timer_entry *entry)
{
    pjsua_timer_list *tmr = (pjsua_timer_list *)entry->user_data;
    void (*cb)(void *user_data) = tmr->cb;
    void *user_data = tmr->user_data;

    PJ_UNUSED_ARG(th);

    if (cb)
        (*cb)(user_data);

    pj_mutex_lock(pjsua_var.timer_mutex);
    pj_list_erase(tmr);
    pj_list_push_back(&pjsua_var.timer_list, tmr);
    pj_mutex_unlock(pjsua_var.timer_mutex);
}