VitXi not loading properly

Just wondering what this means?


Contacts and Call Logs not loading.

1 Like

Hello,

What version of VitXi do you have installed?

Regards,

New Install. Version 4.5.0-3

1 Like

Please follow these steps:

  1. Go to the Add-ons module in VitalPBX.
  2. Click on “Check Online.”
  3. Select the option “Reinstall VitXi.”
  4. In the server terminal, run the command: vitxi migrate --force.

Afterward, go to the VitXi app and refresh it with CTRL + F5 to clear the cache.

Let me know if it worked correctly for you.

Thats seems to have cleared the error.
Just made a test call to my mobile. The mobile rang, and when I answered the mobile, it just hangs up. Tried a few times.

-- PJSIP/DIDWWMASTER-00000054 is making progress passing it to PJSIP/dit201-00000053
    -- PJSIP/DIDWWMASTER-00000054 answered PJSIP/dit201-00000053
    -- PJSIP/DIDWWMASTER-00000054 Internal Gosub(sub-before-bridging-call,s,1(ba29ca7df835452f,201,447470nnnnnn,no)) start
    -- Executing [s@sub-before-bridging-call:1] NoOp("PJSIP/DIDWWMASTER-00000054", "Executing sub-routine before connecting to the calling channel") in new stack
    -- Executing [s@sub-before-bridging-call:2] Set("PJSIP/DIDWWMASTER-00000054", "TENANT=ba29ca7df835452f") in new stack
    -- Executing [s@sub-before-bridging-call:3] Set("PJSIP/DIDWWMASTER-00000054", "CALLER=201") in new stack
    -- Executing [s@sub-before-bridging-call:4] Set("PJSIP/DIDWWMASTER-00000054", "CALLEE=447470946222") in new stack
    -- Executing [s@sub-before-bridging-call:5] Set("PJSIP/DIDWWMASTER-00000054", "FORCE_CALL_RECORDING=no") in new stack
    -- Executing [s@sub-before-bridging-call:6] NoOp("PJSIP/DIDWWMASTER-00000054", "Check if the follow-me confirmation sub-routine needs to be executed") in new stack
    -- Executing [s@sub-before-bridging-call:7] GotoIf("PJSIP/DIDWWMASTER-00000054", "1?call-recording") in new stack
    -- Goto (sub-before-bridging-call,s,9)
    -- Executing [s@sub-before-bridging-call:9] NoOp("PJSIP/DIDWWMASTER-00000054", "Executing the call-recording sub-routine") in new stack
    -- Executing [s@sub-before-bridging-call:10] Gosub("PJSIP/DIDWWMASTER-00000054", "sub-call-recording,s,1(ba29ca7df835452f,201,447470nnnnnn,no)") in new stack
    -- Executing [s@sub-call-recording:1] NoOp("PJSIP/DIDWWMASTER-00000054", "Check if call will be recorded on tenant ba29ca7df835452f") in new stack
    -- Executing [s@sub-call-recording:2] NoOp("PJSIP/DIDWWMASTER-00000054", "Call Type: 3 ") in new stack
    -- Executing [s@sub-call-recording:3] Set("PJSIP/DIDWWMASTER-00000054", "TENANT=ba29ca7df835452f") in new stack
    -- Executing [s@sub-call-recording:4] Set("PJSIP/DIDWWMASTER-00000054", "CALLER=201") in new stack
    -- Executing [s@sub-call-recording:5] Set("PJSIP/DIDWWMASTER-00000054", "CALLEE=447470nnnnnn") in new stack
    -- Executing [s@sub-call-recording:6] Set("PJSIP/DIDWWMASTER-00000054", "APP_FORCE=no") in new stack
    -- Executing [s@sub-call-recording:7] GotoIf("PJSIP/DIDWWMASTER-00000054", "1?:rec_no_available") in new stack
    -- Executing [s@sub-call-recording:8] GotoIf("PJSIP/DIDWWMASTER-00000054", "0?perform-recording") in new stack
       > Found no rows [SELECT `internal_rec` FROM ombu_extensions WHERE extension='447470nnnnnn' and tenant_id=(SELECT tenant_id from ombu_tenants WHERE path='ba29ca7df835452f')]
    -- Executing [s@sub-call-recording:9] Set("PJSIP/DIDWWMASTER-00000054", "INTERNAL_REC=") in new stack
    -- Executing [s@sub-call-recording:10] GotoIf("PJSIP/DIDWWMASTER-00000054", "0?perform-recording") in new stack
    -- Executing [s@sub-call-recording:11] Set("PJSIP/DIDWWMASTER-00000054", "INTERNAL_REC=no") in new stack
    -- Executing [s@sub-call-recording:12] GotoIf("PJSIP/DIDWWMASTER-00000054", "0?perform-recording") in new stack
       > Found no rows [SELECT `incoming_rec` FROM ombu_extensions WHERE extension='447470946222' and tenant_id=(SELECT tenant_id from ombu_tenants WHERE path='ba29ca7df835452f')]
    -- Executing [s@sub-call-recording:13] Set("PJSIP/DIDWWMASTER-00000054", "INCOMING_REC=") in new stack
    -- Executing [s@sub-call-recording:14] GotoIf("PJSIP/DIDWWMASTER-00000054", "0?perform-recording") in new stack
    -- Executing [s@sub-call-recording:15] Set("PJSIP/DIDWWMASTER-00000054", "OUTGOING_REC=no") in new stack
    -- Executing [s@sub-call-recording:16] GotoIf("PJSIP/DIDWWMASTER-00000054", "0?perform-recording") in new stack
    -- Executing [s@sub-call-recording:17] Goto("PJSIP/DIDWWMASTER-00000054", "return") in new stack
    -- Goto (sub-call-recording,s,21)
    -- Executing [s@sub-call-recording:21] Return("PJSIP/DIDWWMASTER-00000054", "") in new stack
    -- Executing [s@sub-before-bridging-call:11] NoOp("PJSIP/DIDWWMASTER-00000054", "Check if there's a custom sub-routine defined for executing it") in new stack
    -- Executing [s@sub-before-bridging-call:12] GosubIf("PJSIP/DIDWWMASTER-00000054", "0?T3_before-bridging-call-hook,s,1") in new stack
    -- Executing [s@sub-before-bridging-call:13] Return("PJSIP/DIDWWMASTER-00000054", "") in new stack
  == Spawn extension (trk-9-in, , 1) exited non-zero on 'PJSIP/DIDWWMASTER-00000054'
    -- PJSIP/DIDWWMASTER-00000054 Internal Gosub(sub-before-bridging-call,s,1(ba29ca7df835452f,201,447470nnnnnn,no)) complete GOSUB_RETVAL=
    -- Channel PJSIP/DIDWWMASTER-00000054 joined 'simple_bridge' basic-bridge <64cde90c-d34d-4cda-91db-136741198d8e>
    -- Channel PJSIP/dit201-00000053 joined 'simple_bridge' basic-bridge <64cde90c-d34d-4cda-91db-136741198d8e>
    -- Channel PJSIP/dit201-00000053 left 'simple_bridge' basic-bridge <64cde90c-d34d-4cda-91db-136741198d8e>
    -- Channel PJSIP/DIDWWMASTER-00000054 left 'simple_bridge' basic-bridge <64cde90c-d34d-4cda-91db-136741198d8e>
  == Spawn extension (trk-9-dial, 447470nnnnnn, 49) exited non-zero on 'PJSIP/dit201-00000053'
    -- Executing [h@trk-9-dial:1] System("PJSIP/dit201-00000053", "test -e /var/spool/asterisk/monitor/ba29ca7df835452f/2025/01/10/094437-OUT-NONE-201-447470nnnnnn-1736502275.115.wav") in new stack
    -- Executing [h@trk-9-dial:2] ExecIf("PJSIP/dit201-00000053", "0?Set(CDR(recfile)=/var/spool/asterisk/monitor/ba29ca7df835452f/2025/01/10/094437-OUT-NONE-201-447470nnnnnn-1736502275.115.wav):") in new stack
    -- Executing [h@trk-9-dial:3] GosubIf("PJSIP/dit201-00000053", "0?sub-outbound-queue-call,s,1") in new stack
    -- Executing [h@trk-9-dial:4] Gosub("PJSIP/dit201-00000053", "dynamic-routing-out,s,1(201,447470nnnnnn,ANSWER,9)") in new stack
    -- Executing [s@dynamic-routing-out:1] NoOp("PJSIP/dit201-00000053", "Test if save on dynamic routing list") in new stack
    -- Executing [s@dynamic-routing-out:2] Set("PJSIP/dit201-00000053", "CALLER=201") in new stack
    -- Executing [s@dynamic-routing-out:3] Set("PJSIP/dit201-00000053", "CALLED=447470946222") in new stack
    -- Executing [s@dynamic-routing-out:4] Set("PJSIP/dit201-00000053", "STATUS=ANSWER") in new stack
    -- Executing [s@dynamic-routing-out:5] Set("PJSIP/dit201-00000053", "TRKID=9") in new stack
    -- Executing [s@dynamic-routing-out:6] Set("PJSIP/dit201-00000053", "ALLOW_DR=no") in new stack
    -- Executing [s@dynamic-routing-out:7] Set("PJSIP/dit201-00000053", "DYNROUTING_OMC=yes") in new stack
    -- Executing [s@dynamic-routing-out:8] GotoIf("PJSIP/dit201-00000053", "0?:comeback") in new stack
    -- Goto (dynamic-routing-out,s,10)
    -- Executing [s@dynamic-routing-out:10] Return("PJSIP/dit201-00000053", "") in new stack
    -- Executing [h@trk-9-dial:5] Gosub("PJSIP/dit201-00000053", "notify-trunk-hangup,s,1") in new stack
    -- Executing [s@notify-trunk-hangup:1] Verbose("PJSIP/dit201-00000053", "0, Trunk Hangup") in new stack
 Trunk Hangup
    -- Executing [s@notify-trunk-hangup:2] Set("PJSIP/dit201-00000053", "CALLER=PJSIP/dit201") in new stack
    -- Executing [s@notify-trunk-hangup:3] UserEvent("PJSIP/dit201-00000053", ""EXTENSIONS_SUMMARY","Data: OUTBOUND,PJSIP/dit201,447470nnnnnn,OUT"") in new stack
    -- Executing [s@notify-trunk-hangup:4] Return("PJSIP/dit201-00000053", "") in new stack
    -- Executing [h@trk-9-dial:6] Gosub("PJSIP/dit201-00000053", "sub-log-crm-call,s,1") in new stack
    -- Executing [s@sub-log-crm-call:1] NoOp("PJSIP/dit201-00000053", "Logging Call on CRM") in new stack
    -- Executing [s@sub-log-crm-call:2] Set("PJSIP/dit201-00000053", "EXTERN_NUM=447470nnnnnn") in new stack
    -- Executing [s@sub-log-crm-call:3] GotoIf("PJSIP/dit201-00000053", "1?:end") in new stack
    -- Executing [s@sub-log-crm-call:4] GotoIf("PJSIP/dit201-00000053", "1?:end") in new stack
    -- Executing [s@sub-log-crm-call:5] Gosub("PJSIP/dit201-00000053", "T3_crm-integration,log-call,1(757828000000420001,447470nnnnnn,201,447470nnnnnn,3,ANSWERED,0,)") in new stack
    -- Executing [log-call@T3_crm-integration:1] Set("PJSIP/dit201-00000053", "CRM_WHO_ID=757828000000420001") in new stack
    -- Executing [log-call@T3_crm-integration:2] Set("PJSIP/dit201-00000053", "CRM_CONTACT_NUMBER=447470nnnnnn") in new stack
    -- Executing [log-call@T3_crm-integration:3] Set("PJSIP/dit201-00000053", "CRM_CALLER=201") in new stack
    -- Executing [log-call@T3_crm-integration:4] Set("PJSIP/dit201-00000053", "CRM_CALLEE=447470nnnnnn") in new stack
    -- Executing [log-call@T3_crm-integration:5] Set("PJSIP/dit201-00000053", "CRM_CALL_DIR=3") in new stack
    -- Executing [log-call@T3_crm-integration:6] Set("PJSIP/dit201-00000053", "CRM_CALL_DISPOSITION=ANSWERED") in new stack
    -- Executing [log-call@T3_crm-integration:7] Set("PJSIP/dit201-00000053", "CRM_CALL_DUR=0") in new stack
    -- Executing [log-call@T3_crm-integration:8] Set("PJSIP/dit201-00000053", "CRM_CALL_REC=") in new stack
    -- Executing [log-call@T3_crm-integration:9] NoOp("PJSIP/dit201-00000053", "logging Call from 201 to 447470nnnnnn") in new stack
    -- Executing [log-call@T3_crm-integration:10] System("PJSIP/dit201-00000053", "/usr/share/vitalpbx/scripts/crm "logCall" "ba29ca7df835452f" "757828000000420001" "447470nnnnnn" "201" "447470nnnnnn" "3" "ANSWERED" "0" "" &") in new stack
    -- Executing [log-call@T3_crm-integration:11] Return("PJSIP/dit201-00000053", "") in new stack
    -- Executing [s@sub-log-crm-call:6] Return("PJSIP/dit201-00000053", "") in new stack
    -- Executing [h@trk-9-dial:7] GosubIf("PJSIP/dit201-00000053", "0?T3_end-trunk-dialing-hook,s,1") in new stack
    -- Executing [h@trk-9-dial:8] Hangup("PJSIP/dit201-00000053", "") in new stack
  == Spawn extension (trk-9-dial, h, 8) exited non-zero on 'PJSIP/dit201-00000053'

1 Like

Please check the following settings:

  • The extensions assigned to VitXi users should be configured with the WebRTC profile.

  • WebRTC device profile settings:

    • RTP Keepalive: 1
    • RTP Timeout: 0
    • Direct Media: No
    • Asymmetric RTP Codec: No

Save and apply changes,