Uploaded image for project: 'FreePBX'
  1. FreePBX
  2. FREEPBX-17994

Optimize AGI calls for broadcast module

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 13, 14
    • Fix Version/s: None
    • Component/s: Broadcast (Commercial)
    • Labels:
      None
    • ToDo:

      Description

      At present, the broadcast_log.php AGI is called twice in succession for every call. With the latest changes added in FREEPBX-17776, the AGI gets called immediately after the AMD line, and then again once the channel vars have been set to indicate the outcome of the AMD. Can we not eliminate the first broadcast_log.php completely and only have it happen once per call? I have seen cases where each AGI add seconds of delay. Also is there anything in the AGI file itself that can speed up completion time?

      phonesystem*CLI> dialplan show broadcast-campaign-11
      [ Context 'broadcast-campaign-11' created by 'pbx_config' ]
        'activate' =>     1. Noop(Activating campaign 11)               [pbx_config]
                          2. Set(CAMPAIGNID=11)                         [pbx_config]
                          3. Set(COMMAND=activate)                      [pbx_config]
                          4. AGI(broadcast_manage.php)                  [pbx_config]
        'deactivate' =>   1. Noop(Deactivating campaign 11)             [pbx_config]
                          2. Set(CAMPAIGNID=11)                         [pbx_config]
                          3. Set(COMMAND=deactivate)                    [pbx_config]
                          4. AGI(broadcast_manage.php)                  [pbx_config]
        'h' =>            1. Noop(this is where we will put do-not-call) [pbx_config]
        'human' =>        1. Noop(Human detected)                       [pbx_config]
                          2. Set(_STATE=person)                         [pbx_config]
                          3. AGI(broadcast_log.php)                     [pbx_config]
                          4. Goto(ext-group,604,1)                      [pbx_config]
                          5. Hangup()                                   [pbx_config]
        's' =>            1. Set(CALLERID(name)=${CALLEENAME})          [pbx_config]
                          2. Set(CALLERID(num)=${CALLEENUM})            [pbx_config]
                          3. Set(MACHINE=0)                             [pbx_config]
                          4. Set(CHANNEL(language)=en)                  [pbx_config]
                          5. Answer()                                   [pbx_config]
                          6. Set(_STATE=answered)                       [pbx_config]
                          7. AMD()                                      [pbx_config]
                          8. AGI(broadcast_log.php)                     [pbx_config]
                          9. GotoIf($[ "${AMDSTATUS}" = "HUMAN" ]?human,1) [pbx_config]
                          10. Noop(Unsure. Treating as machine.)        [pbx_config]
                          11. WaitForSilence()                          [pbx_config]
                          12. Set(MACHINE=1)                            [pbx_config]
                          13. Set(_STATE=machine)                       [pbx_config]
                          14. AGI(broadcast_log.php)                    [pbx_config]
                          15. Goto(ext-group,604,1)                     [pbx_config]
                          16. Hangup()                                  [pbx_config]
        Include =>        'broadcast-campaign-11-custom'                [pbx_config]

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  lgaetz Lorne Gaetz
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:

                    NextupJiraPlusStatus

                    Error rendering 'slack.nextup.jira:nextup-jira-plus-status'. Please contact your Jira administrators.