LP#1375043: Support for in-A/T telephony configuration
authorMike Rylander <mrylander@gmail.com>
Sun, 28 Sep 2014 20:37:33 +0000 (16:37 -0400)
committerGalen Charlton <gmc@esilibrary.com>
Wed, 2 Mar 2016 22:24:04 +0000 (17:24 -0500)
commit76ace6a13892403b57582a3b597bccdee7e453b6
tree49d2c33b014238deb95f1e484a54dc537d10bb55
parentf49b01028ba61f544d4562e905460bc1cff93951
LP#1375043: Support for in-A/T telephony configuration

The AstCall reactor module creates a callfile for Asterisk, given a
template describing the message and an environment defining
necessary information for contacting the Asterisk server and scheduling
a call with it.

If you have only one SIP server, you can set it up like this in the
opensrf.xml configuration file:

    <telephony>
        <!-- replace all values below when telephony server is configured -->
        <enabled>0</enabled>
        <driver>SIP</driver> <!-- SIP (default) or multi -->
        <channels> <!-- explicit list of channels used if multi -->
            <!-- A channel specifies technology/resource -->
            <channel>Zap/1</channel>
            <channel>Zap/2</channel>
            <channel>IAX/user:secret@widgets.biz</channel>
        </channels>
        <host>localhost</host>
        <port>10080</port>
        <user>evergreen</user>
        <pw>evergreen</pw>
        <!--
            The overall composition of callfiles is determined by the
            relevant template, but this section can be invoked for callfile
            configs common to all outbound calls.
            callfile_lines will be inserted into ALL generated callfiles
            after the Channel line. This content mat be overridden
            (in whole) by the org unit setting callfile_lines.
            Warning: Invalid syntax may break ALL outbound calls.
        -->
        <!-- <callfile_lines>
            MaxRetries: 3
            RetryTime: 60
            WaitTime: 30
            Archive: 1
            Extension: 10
        </callfile_lines> -->
    </telephony>

To support more than one SIP server, say, per library, you can use
Action/Trigger parameters like these, which model the same information
as above:

    enabled = 0
    driver = "SIP"
    channels = ["Zap/1", "Zap/2", "IAX/user:secret@widgets.biz"]
    host = "localhost"
    port = "10080"
    user = "evergreen"
    pw = "evergreen"
    callfile_lines = ["MaxRetries: 3", "RetryTime: 60", "WaitTime: 30", "Archive: 1", "Extension: 10"]

Co-author credit goes to Steve Callender, who helped build this patch.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/AstCall.pm