Exemple #1
0
def changePassword():
    old_password=ibs_agi.getStateMachine().gotoState("GET_OLD_PASSWORD")
    if not old_password:
        return
        
    pass_correct=ibs_agi.getStateMachine().gotoState("CHECK_OLD_PASSWORD", old_password)
    if pass_correct:    
        new_password=ibs_agi.getStateMachine().gotoState("GET_NEW_PASSWORD")
        if not new_password:
            return

        ibs_agi.getStateMachine().gotoState("CHANGE_TO_NEW_PASSWORD", new_password)
Exemple #2
0
def modifyFastDial():
    """
    """
    _index=ibs_agi.getStateMachine().gotoState("GET_FAST_DIAL_INDEX")
    if not _index or not _index.isdigit(): #timeout or #*
        return
    
    destination=ibs_agi.getStateMachine().gotoState("GET_FAST_DIAL_DIGITS",_index)
    if destination in ["*",""]:
        return

    ibs_agi.getStateMachine().gotoState("ADD_DESTINATION_TO_FAST_DIAL",_index,destination)
Exemple #3
0
def dial(destination):
    duration = 0
    status = "HANGUP"
    do_call_end = True
    authorized = False
    try:
        remaining_time = ibs_agi.getStateMachine().gotoState(
            "AUTHORIZE", destination)

        if ibs_agi.getConfig().getValue("authorized"):
            ibs_agi.getStateMachine().gotoState("SAY_REMAINING_TIME",
                                                remaining_time)
            (duration, status) = ibs_agi.getStateMachine().gotoState(
                "DIAL_DESTINATION", destination, remaining_time)
        else:
            do_call_end = False
            return
    finally:
        if do_call_end:
            (duration, used_credit) = ibs_agi.getStateMachine().gotoState(
                "CALL_END", duration, status)

            ch_status = ibs_agi.getAGI().channel_status()
            if ibs_agi.getConfig().getValue("debug"):
                toLog("AferDial ChannelStatus: " + str(ch_status))

            ibs_agi.getStateMachine().gotoState("SAY_USED_CREDIT", duration,
                                                used_credit)
Exemple #4
0
def fastDial():
    """
    """
    while True:
        _index = ibs_agi.getStateMachine().gotoState("GET_FAST_DIAL_INDEX")
        if not _index or not _index.isdigit():  #timeout or #*
            return

        try:
            destination = ibs_agi.getStateMachine().gotoState(
                "GET_FAST_DIAL_DESTINATION_FROM_IBS", _index)
        except IBSException:
            return

        if destination == "":
            return ibs_agi.getSelectedLanguage().sayPrompt(
                "destination_incorrect")

        confirm = ibs_agi.getStateMachine().gotoState("CONFIRM_FAST_DIAL",
                                                      _index, destination)
        if confirm == _index:
            return ibs_agi.getStateMachine().gotoState("DIAL", destination)
Exemple #5
0
def menu():
    while True:
        selection = ibs_agi.getStateMachine().gotoState("SAY_MENU")

        if selection == "":  #timeout
            selection = ibs_agi.getAGI().wait_for_digit(5000)
            if selection == "":
                ibs_agi.getSelectedLanguage().sayPrompt("no_digit_entered")
                continue

        if ibs_agi.getConfig().getValue("debug"):
            toLog("Menu: Selected %s" % selection)

        if selection in "*#":  #go and ask for destination again
            return

        try:
            new_state = ibs_agi.getSelectedLanguage().getMenuIndexState(
                int(selection))
        except (KeyError, ValueError):
            ibs_agi.getStateMachine().gotoState("BAD_MENU_SELECTION")
            continue

        ibs_agi.getStateMachine().gotoState(new_state)
Exemple #6
0
def userPassAuthenticate():
    counter=0
    while counter<ibs_agi.getConfig().getValue("retry") and not ibs_agi.getConfig().getValue("authenticated"):
        username=ibs_agi.getStateMachine().gotoState("GET_USERNAME",counter)
        if username == "":
            ibs_agi.getStateMachine().gotoState("AUTHENTICATION_FAILED")
            
        password=ibs_agi.getStateMachine().gotoState("GET_PASSWORD")
        credit=ibs_agi.getStateMachine().gotoState("AUTHENTICATE",username,password)
        counter+=1

    if not ibs_agi.getConfig().getValue("authenticated"):
        ibs_agi.getStateMachine().gotoState("AUTHENTICATION_FAILED")

    return credit
Exemple #7
0
def init():
    ibs_agi.getStateMachine().registerState("GET_DESTINATION", getDestination)
Exemple #8
0
def init():
    ibs_agi.getStateMachine().registerState("USER_PASS_AUTHENTICATE",userPassAuthenticate)
Exemple #9
0
def init():
    ibs_agi.getStateMachine().registerState("GET_OLD_PASSWORD", getOldPassword)
Exemple #10
0
def init():
    ibs_agi.getStateMachine().registerState("GET_CURRENT_CREDIT",
                                            getCurrentCredit)
Exemple #11
0
def init():
    ibs_agi.getStateMachine().registerState("FAST_DIAL", fastDial)
Exemple #12
0
def init():
    ibs_agi.getStateMachine().registerState("ADD_DESTINATION_TO_FAST_DIAL",
                                            addDestinationToFastDial)
def authenticationFailed():
    ibs_agi.getSelectedLanguage().sayPrompt("authentication_failed")
    ibs_agi.getStateMachine().gotoState("GOODBYE_HANGUP")
    raise IBSException("Authentication Failed")
def init():
    ibs_agi.getStateMachine().registerState("AUTHENTICATION_FAILED",
                                            authenticationFailed)
Exemple #15
0
def init():
    ibs_agi.getStateMachine().registerState("REDIAL_LAST_NUMBER",
                                            redialLastNumber)
Exemple #16
0
import ibs_agi
from lib import request
from lib.error import *


def init():
    ibs_agi.getStateMachine().registerState("REDIAL_LAST_NUMBER",
                                            redialLastNumber)


def redialLastNumber():
    """
        get last number dialed by user and dial it
    """
    req = request.Request()
    try:
        last_number = req.send("getLastDestination", True)
    except xmlrpclib.Fault, e:
        logException()
        ibs_agi.getSelectedLanguage().sayPrompt("unknown_problem")
        return
    else:
        if ibs_agi.getConfig().getValue("debug"):
            toLog("getLastDestination: %s" % last_number)

        if not last_number:
            ibs_agi.getSelectedLanguage().sayPrompt("destination_incorrect")
            return

        return ibs_agi.getStateMachine().gotoState("DIAL", last_number)
Exemple #17
0
def init():
    ibs_agi.getStateMachine().registerState("CONFIRM_FAST_DIAL",
                                            confirmFastDial)
Exemple #18
0
def init():
    ibs_agi.getStateMachine().registerState("DIAL_DESTINATION",
                                            dialDestination)
def init():
    ibs_agi.getStateMachine().registerState("DELETE_CALLERID_AUTHENTICATION",
                                            deleteCallerIDAuthentication)
Exemple #20
0
def init():
    ibs_agi.getStateMachine().registerState("GET_USERNAME", getUsername)
Exemple #21
0
def init():
    ibs_agi.getStateMachine().registerState("GET_NEW_PASSWORD",getNewPassword)
Exemple #22
0
def init():
    ibs_agi.getStateMachine().registerState("MAIN",main)
Exemple #23
0
def init():
    ibs_agi.getStateMachine().registerState("SAY_REMAINING_TIME",
                                            sayRemainingTime)
Exemple #24
0
def init():
    ibs_agi.getStateMachine().registerState("SAY_USED_CREDIT", sayUsedCredit)
Exemple #25
0
def init():
    ibs_agi.getStateMachine().registerState("HANGUP",hangup)
Exemple #26
0
def init():
    ibs_agi.getStateMachine().registerState("DIAL", dial)
Exemple #27
0
def main():
    ibs_agi.getStateMachine().gotoState("SET_SESSION_VARIABLES")
    credit=ibs_agi.getStateMachine().gotoState("CALLERID_AUTHENTICATE")
    ibs_agi.getStateMachine().gotoState("GREETING")
    ibs_agi.getStateMachine().gotoState("CHOOSE_LANGUAGE")
    if not ibs_agi.getConfig().getValue("authenticated"):
        credit=ibs_agi.getStateMachine().gotoState("USER_PASS_AUTHENTICATE")
    
    ibs_agi.getStateMachine().gotoState("SAY_REMAINING_CREDIT",credit)
    
    
    while True:
        destination=ibs_agi.getStateMachine().gotoState("GET_DESTINATION")
        if destination=="*":
            ibs_agi.getStateMachine().gotoState("MENU")
        elif destination=="":
            ibs_agi.getStateMachine().gotoState("GOODBYE_HANGUP")
        else:
            ibs_agi.getStateMachine().gotoState("DIAL",destination)     
Exemple #28
0
def init():
    ibs_agi.getStateMachine().registerState("GOODBYE_HANGUP", goodbyeHangup)
Exemple #29
0
def init():
    ibs_agi.getStateMachine().registerState("AUTHORIZE", authorize)
Exemple #30
0
def goodbyeHangup():
    ibs_agi.getSelectedLanguage().sayFile("goodbye")
    return ibs_agi.getStateMachine().gotoState("HANGUP")