The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

services_available

    $murphx->services_available( cli => "02071112222" );

Returns an hash showing the available services and line qualifications as follows:

  ( qualification => {
        classic => '2048000',
        max => '4096000',
        2plus => '5120000',
        fttc => {
            'up' => '6348800',
            'down' => '27750400'
        },
        'first_date' => '2011-03-01'
    },
    product_id => {
        'first_date' => '2011-03-01',
        'max_speed' => '4096000',
        'product_name' => 'DSL Product Name'
    },
    ...
  )

modify

    $murphx->modify(
        "service-id" => "12345", "client-ref" => "myref", "prod-id" => "1000",
        "crd" => "2009-12-31", "care-level" => "standard" "inclusive-transfer" => "3",
        "test-mode" = "N" );

Modify the service specificed in service-id. Parameters are as per the Murphx documentation

Returns order-id for the modify order.

change_password

    $murphx->change_password( "service-id" => "12345", "password" => "secret" );

Changes the password for the ADSL login on the given service.

Requires service-id and password

Returns 1 for successful password change.

woosh_response

    $murphx->woosh_response( "12345" );

Obtains the results of a Woosh test, previously requested using request_woosh(). Takes the ID of the woosh test as its only parameter. Note that this will only return results for completed Woosh tests. Use woosh_list() to determine if the woosh test is completed.

Returns an hash containing a hash for each set of test results. See Murphx documentation for details of the test result fields.

woosh_list

    $murphx->woosh_list( "12345" );

Obtain a list of all woosh tests requested for the given service-id and their status.

Requires service-id as the single parameter.

Returns an array, each element of which is a hash containing the following fields for each requested Woosh test:

    service-id woosh-id start-time stop-time status

The array elements are sorted by date with the most recent being first.

request_woosh

    $murphx->request_woosh( "service-id" => "12345", "fault-type" => "EPP",
        "has-worked" => "Y", "disruptive" => "Y", "fault-time" => "2007-01-04 15:33:00");

Alias to woosh_request_oneshot

woosh_request_oneshot

    $murphx->woosh_request_oneshot( "service-id" => "12345", "fault-type" => "EPP",
        "has-worked" => "Y", "disruptive" => "Y", "fault-time" => "2007-01-04 15:33:00");

Places a request for Woosh test to be run on the given service. Parameters are passed as a hash which must contain:

    service-id - ID of the service
    fault-type - Type of fault to check. See Murphx documentation for available types
    has-worked - Y if the service has worked in the past, N if it has not
    disruptive - Y to allow Woosh to run a test which will be disruptive to the service.
    fault-time - date and time (ISO format) the fault occured

Returns a scalar which is the id of the woosh test. Use woosh_response with this id to get the results of the Woosh test.

order_updates_since

    $murphx->order_updates_since( "date" => "2007-02-01 16:10:05" );

Alias to order_eventlog_changes

order_eventlog_changes

    $murphx->order_eventlog_changes( "date" => "2007-02-01 16:10:05" );

Returns a list of events that have occurred on all orders since the provided date/time.

The return is an date/time sorted array of hashes each of which contains the following fields: order-id date name value

auth_log

    $murphx->auth_log( "service-id" => '12345', "rows" => "5" );

Alias for service_auth_log

service_auth_log

    $murphx->service_auth_log( "service-id" => '12345', "rows" => "5" );

Gets the last n rows, as specified in the rows parameter, of authentication log entries for the service

Returns an array, each element of which is a hash containing: auth-date, username, result and, if the login failed, error-message

session_log

    $murphx->session_log( { } );

Alias for service_session_log

service_session_log

    $murphx->service_session_log( "session-id" => "12345", "rows" => "5" );

Gets the last entries in the session log for the service. The number of entries is specified in the "rows" parameter.

Returns an array each element of which is a hash containing:

    start-time stop-time download upload termination-reason

usage_summary

    $murphx->usage_summary( "service-id" =>'12345', "year" => '2009', "month" => '01' );

Alias for service_usage_summary()

service_usage_summary

    $murphx->service_usage_summary( "service-id" =>'12345', "year" => '2009', "month" => '01' );

Gets a summary of usage in the given month. Inputs are service-id, year, month.

Returns a hash with the following fields:

    year, month, username, total-sessions, total-session-time,
    total-input-octets, total-output-octets

Input octets are upload bandwidth. Output octets are download bandwidth.

Be warned that the total-input-octets and total-output-octets fields returned appear to be MB rather than octets contrary to the Murphx documentation.

service_terminate_session

    $murphx->service_terminate_session( "12345" );

Terminates the current session on the given service-id.

Returns 1 if successful

cease

    $murphx->cease( "service-id" => 12345, "reason" => "This service is no longer required"
        "client-ref" => "ABX129", "crd" => "1970-01-01", "accepts-charges" => 'Y' );

Places a cease order to terminate the ADSL service completely. Takes input as a hash.

Required parameters are : service-id, crd, client-ref

Returns order-id which is the ID of the cease order for tracking purposes.

request_mac

    $murphx->requestmac( "service-id" => '12345', "reason" => "EU wishes to change ISP" );

Obtains a MAC for the given service. Parameters are service-id and reason the customer wants a MAC.

Returns a hash comprising: mac, expiry-date

service_status

    $murphx->service_status( "12345" );

Gets the current status for the given service id.

Returns a hash containing:

    live, username, ip-address, session-established, session-start-date,
    ping-test, average-latency

service_history

   $murphx->service_history( "12345" );

Returns the full history for the given service as an array each element of which is a hash:

    order-id name date value

service_eventlog_history

$murphx->service_eventlog_history( "12345" );

Returns the full history for the given service as an array each element of which is a hash:

    order-id name date value

services_history

    $murphx->services_history( "start-date" => "2007-01-01", "stop-date" => "2007-02-01" );

Returns an array each element of which is a hash continaing the following data:

    service-id order-id date name value

service_eventlog_changes

    $murphx->service_eventlog_changes( "start-date" => "2007-01-01", "stop-date" => "2007-02-01" );

Returns an array each element of which is a hash continaing the following data:

    service-id order-id date name value

order_status

    $murphx->order_status( '12345' );

Gets status of an order. Input is the order-id from Murphx

Returns a hash containing a hash order and a hash customer The order hash contains:

    order-id, service-id, client-ref, order-type, cli, service-type, service,
    username, status, start, finish, last-update

The customer hash contains:

    forename, surname, address, city, county, postcode, telephone, building

service_view

    $murphx->service_view ( "service-id" => '12345' );

Combines the data from service_details, service_history and service_options

Returns a hash as follows:

    %service = (    "service-details" => {
                        service-id => "", product-id => "", 
                        ... },
                    "service-options" => {
                        "speed-limit" => "", "suspended" => "",
                        ... },
                    ""service-history" => {
                        [ 
                            { "event-date" => "", ... },
                            ...
                        ] },
                    "customer-details" => {
                        "title" => "", "forename", ... }
                )

See Murphx documentation for full details

service_details

    $murphx->service_details( '12345' );

Obtains details of the service identified by "service-id" from Murphx

Returns a hash with details including (but not limited to): activation-date, cli, care-level, technology-type, service-id username, password, live, product-name, ip-address, product-id cidr

interleaving_status

    $murphx->interleaving_status( "service-id" => 12345 );

Returns current interleaving status if available or undef;

If not undef status can be one of:

    'opt-in', 'opt-out' or 'auto'

order_history

    $murphx->order_history( 12345 );

Alias to order_eventlog_history

order_eventlog_history

    $murphx->order_eventlog_history( 12345 );

Gets order history

Returns an array, each element of which is a hash showing the next update in date sorted order. The hash keys are date, name and value.

services_overusage

    $murphx->services_overusage( "period" => "", "limit" => "100" );

Returns an array each element of which is a hash detailing each service which has exceeded its usage cap. See the Murphx documentation for details.

speed_limit_status

    $murphx->speed_limit_status( 12345 );

Returns either a hash reference or a description of the speed limit status.

speed_limit_enable

    $murphx->speed_limit_enable( "service-id" => 12345,
        "upstream-limit" => "768",
        "downstream-limit" => "768",
    );

Set speed limits for the given service.

speed_limit_disable

    $murphx->speed_limit_disable( 12345 );

Turn off speed limits for the given service.

service_unsuspend

    $murphx->service_unsuspend( 12345 );

Unsuspend this broadband service.

service_suspend

    $murphx->service_suspend( "service-id" => 12345, 
                              reason => "I don't like them");

Suspend this broadband service for the given reason.

walledgarden_status

    $murphx->walledgarden_status( "service-id" => 12345 );

Returns true is the current service is subject to walled garden restrictions or undef if not.

walledgarden_enable

    $murphx->walledgarden_enable( "service-id" => 12345, "ip-address" -> '192.168.1.1' );

Redirects all (http and https) traffic to the specified IP address

walledgarden_disable

    $murphx->walledgarden_disable( "service-id" => 12345 );

Disables the "walled garden" restriction on the service

change_carelevel

    $murphx->change_carelevel( "service-id" -> 12345, "care-level" => "enhanced" );

Changes the care-level associated with a given service.

care-level can be set to either standard or enhanced.

Returns true is successful.

change_carelevel

    $murphx->carei_level( "service-id" -> 12345, "care-level" => "enhanced" );

Changes the care-level associated with a given service.

care-level can be set to either standard or enhanced.

Returns true is successful.

service_actions

    $murphx->service_actions( "service-id" -> 12345 );

Returns a hash detailing which actions can be taken on the given service.

Each action has a corresponding function in this module.

product_details

    $murphx->product_details( $product-id );

Returns full product details for the given product id

case_new

    $murphx->case_new( "service-id" => 12345, "service-type" => "adsl",
        "username" => "username@realm", "cli" => "02071112222", 
        "os" => "Linux", "hardware-product" => "Other", 
        "problem-type" => "Connection", "experienced" => "2010-01-01",
        "reported" => "User does not have sync", "priority" => "High"  );

case_view

    $murphx->case_view( "case-id" => "12345" );

Returns a hash containing details of an existing case

    $murphx->case_search( "service-id" => 12345 );

Returns basic details of all cases matching a given search.

Search parameters can include the following (and must include at least one of them):

    case-id, service-id, customer-id, service-type, username, partial-cli,
    engineer, problem-type, priority or status

Returns an array, each element of which is a hash providing basic details of the case. Use case_view and case_history to get more details.

case_history

    $murphx->case_history( "case-id" => "12345" );

Returns a full history for the given case-id.

Return is an array, each element of which is a hash detailing a specific update to the case.

case_update

    $murphx->case_update( "case-id" => "12345", "priority" => "High",
        "reason" => "More information about problem" );

Updates the given case with update given in "reason".

Returns 1 if update completed.

regrade_options

    $murphx->regrade_options( "service-id" => "12345" );

Returns an array containing details of the regrade options avaiulable on the given service using the module. Each element of the array is a hash with the same specification as returned by services_available

regrade

    $murphx->regrade( "service-id" => "12345",
                      "prod-id" => 1595,
                      "crd" => "2010-02-01" );

Places an order to regrade the specified service to the defined prod-id on the crd specified. Use regrade_options first to determine which products are available and the earliest crd available.

The parameters you may pass to this function are the same as for the modify function. See Murphx documentation for details.

order

    $murphx->order(
        # Customer details
        forename => "Clara", surname => "Trucker", 
        building => "123", street => "Pigeon Street", city => "Manchester", 
        county => "Greater Manchester", postcode => "M1 2JX",
        telephone => "01614960213", 
        # Order details
        clid => "01614960213", "client-ref" => "claradsl", 
        "prod-id" => $product, crd => $leadtime, username => "claraandhugo",
        password => "skyr153", "care-level" => "standard", 
        realm => "surfdsl.net"
    );

Submits an order for DSL to be provided to the specified phone line. Note that all the parameters above must be supplied. CRD is the requested delivery date in YYYY-mm-dd format; you are responsible for computing dates after the minimum lead time. The product ID should have been supplied to you by Murphx.

Additional parameters are listed below and described in the integration guide:

    title street company mobile email fax sub-premise fixed-ip routed-ip
    allocation-size hardware-product max-interleaving test-mode
    inclusive-transfer

If a mac and losing-isp is passed, then the order is understood as a migration rather than a provision.

Returns a hash describing the order.

terms_and_conditions

Returns the terms-and-conditions to be presented to the user for signup of a broadband product.

first_crd

    $murphx->first_crd( "order-type" => "provide", "product-id" => "1595" );

Returns the first possible date in ISO format an order of the specified may be placed for.

Required Parameters:

    order-type : provide, migrate in, modify or cease
    product-id : the Murphx product ID

leadtime

    $murphx->leadtime( "order-type" => "provide", "product-id" => "1595" );

Returns a hash detailing the leadtime and first date for an order of the given type and for the given product.

Required Parameters:

    order-type : provide, migrate in, modify or cease
    product-id : the Murphx product ID

Returns:

    leadtime        : number of leadtime days
    first-date-int  : first date as seconds since unix epoch
    first-date-text : first date in ISO format