Finally landed my first IT job with an MSP! What to expect?

For the first few months and depending on the amount of customers you support, expect a decent size learning curve in becoming familiar with their tech. Also expect that the customers will take some time to get used to you, especially if they are used to dealing with the other staff members. They'll probably take some time to get used to you and some might try to bypass you for support in the beginning...As long as your company has good documentation the other support engineers/staff are helpful, you'll pick things up very quickly and learn a lot. You're in a very good position to have your first job be with a MSP since you'll be supporting multiple, different types of networks. Congrats!Started with my job with a MSP as a tech and am now the Systems Administrator going on 5 years with this company in August lol. Just take your time to...

So I'm waiting on an offer letter for a smallish (20+ employees) MSP that's been around for 30 years if you can believe it. I'm really excited about the job. They seem to be a more high-touch, boutique-y type outfit. Apparently they have no sales staff and rely 100% on word of mouth. I'm not sure how many clients they have but most of them have been with them for years. I would be one of about 6 Service Desk Engineers in a mostly remote support position.I have a BS in IT and A+/N+/S+ certs but not much real experience. The company seems to be willing to take a chance on me and I don't want to blow it. I intentionally chose an MSP because I don't have a lot of time to waste (this is a mid-life major career change) and understand this is the equivalent of getting thrown into the deep end of the pool without any floaties. My goal is to...
This topic first appeared in the Spiceworks Community

Similar Messages

  • MX711 - Prints fine for the first few jobs then prints with no ink

    Pixma MX711
    - Prints fine for the first few jobs
    then after 10 minutes or so it prints but no ink is on the page.
    I replaced the ink cartridges and did all the nozzle clean, priming, alignment etc.
    Questions.
    1. What is the process to do a factory reset?
    2. Any other troubleshooting steps I can do myself?

    Hi tda43,
    Performing a factory reset of the printer will likely not resolve the issue of the inks not printing; however, you can perform the following steps to reset the settings of the printer:
    1. Press the MENU button.
    2. Select SETUP, then press the OK button.
    3. Select DEVICE SETTINGS, then press the OK button.
    4. Use the arrow buttons to select RESET SETTING, then press the OK button.
    5. Use the arrow buttons to select SETTINGS ONLY, then press the OK button.
    6. Press the HOME button to return to the main menu after the settings have been reset.
    When inks do not print correctly, we recommend performing at least one cleaning and two deep cleanings on the printer to try and get the ink to print.  If you still experience difficulty, the printer will require servicing.  Please call or email us using one of the methods on the Contact Us page for further assistance.
    Did this answer your question? Please click the Accept as Solution button so that others may find the answer as well.

  • How can you get the schedule of a single reoccurring job with Restart ability in Redwood to pause when it has failed...?

    We need the Request Restart ability when scheduling a single reoccurring job in Redwood. Most of our jobs are scheduled in CHAINs which offers the Final Status Handler on Step level, and the schedule is "paused" when a job in the CHAIN has failed ( the next instance does not populate until the OP MSG has been Replied to) , and once the OPERATOR message is replied to, the CHAIN can resume running again ( desired ) . But we need this same ability when scheduling a single job not in a CHAIN. In our testing, we set up a job with Request Restart chosen on the Error , Killed and Unknown selections on the Restart Behavior Tab. But we found when a job is scheduled say once a day at 8AM, and when it fails, an OPERATOR msg appears allowing a Restart choice ( desired), but the next day's schedule also populates ( undesired) and we do NOT want the schedule to continue on yet because we need a chance to fix the error before the next insance runs for business reasons. So how can you get the schedule of a single reoccurring job with Restart ability in Redwood to pause when it has failed...?

    Hello Fran,
    You can wrap the job chain in a master job chain in the first step and set the final status handler there.
    You can also set the Restart Behavior to 'Stop Submit Frame', in that case you will have to resubmit the job once you are finished troubleshooting.
    Regards Gerben

  • Schedule Job with Job_close after successful job doesn't work

    Hi guys,
    I'm using FM CLOSE_JOB with parameters : 
                JOBCOUNT             = w_JobId
                JOBNAME              = w_JobName
                PREDJOB_CHECKSTAT    = 'X'
                PRED_JOBCOUNT        = w_oldJobId
                PRED_JOBNAME         = w_oldJobName
    I have about 9 jobs wich must run the one after the others. The first start without PRED* parameters, but the 8 others one are filled with CHECKSTAT, and previous job name and id.
    It works fine for the side "the one after the others", BUT, wathever the previous job give as result (cancelled or finished), the next one starts whereas I pass the parameter CHECKSTAT to X.
    Any ideas of the problem and how to solve it?
    Thanks in advance for your answers.

    Here my code with explanation :
    REPORT  YCOMJ023.
    start-of-selection.
    "Initialization of my vars
    w_StepCount = 0. >> number of steps maxi in a job
    w_jobCount = 1.  >> number to see easier in SM37 the job order
    CONCATENATE pe_name '_STEPS' w_jobCountC INTO w_JobName. (example : TOTO_STEP1)
    CONDENSE w_JobName NO-GAPS.
    "I open my first job
      CALL FUNCTION 'JOB_OPEN' (OPEN job TOTO_STEP1)
        EXPORTING
          jobname          = w_JobName
        IMPORTING
          jobcount         = w_JobID
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
    "We keep in memory first job IDs to close it at the end of the prg
      w_firstjobName = w_JobName.
      w_firstjobID = w_JobID.
    "imagine you do the bellow code in a loop and it makes several jobs TOTO_STEP2 TOTO_STEP3 TOTO_STEP4...
    ADD 1 TO w_StepCount.
    IF w_StepCount GT 250.
        "I call close job eatch time I reach 250 steps
         PERFORM fx_jobclose.
    ENDIF.
    submit RKGALKEUB to sap-spool and return
                                       without spool dynpro
                                       spool parameters print_parameters
                                            VIA JOB w_JobName NUMBER w_JobID
    "End of the programmI close the current Job and the first one :
    "Current
            CALL FUNCTION 'JOB_CLOSE'
              EXPORTING
                JOBCOUNT             = w_JobId
                JOBNAME              = w_JobName
                PREDJOB_CHECKSTAT    = 'X'
                PRED_JOBCOUNT        = w_oldJobId
                PRED_JOBNAME         = w_oldJobName.
    "First one + launch with STRIMMED
            CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
              JOBCOUNT             = w_firstjobId
              JOBNAME              = w_firstjobName
              STRTIMMED            = 'X'
            EXCEPTIONS
              cant_start_immediate = 1
              invalid_startdate    = 2
              jobname_missing      = 3
              job_close_failed     = 4
              job_nosteps          = 5
              job_notex            = 6
              lock_failed          = 7
              OTHERS               = 8.
    *&      Form  fx_jobclose
    *       text
    FORM fx_jobclose.
      "Step to zero to do a new loop after this form
      w_StepCount = 0.
      DATA : w_job_released TYPE CHAR1.
      "If the flag IsFirst, we don't do nothing, because it's the first JOb, and it should not be closed
      IF w_IsFirst = 'X'.
        "Flag is set to blank
        w_IsFirst = ''.
      ELSE.
          "Else it mean we are closing a job with predecessor :
          CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
              JOBCOUNT             = w_JobId
              JOBNAME              = w_JobName
              PREDJOB_CHECKSTAT    = 'X'
              PRED_JOBCOUNT        = w_oldJobId
              PRED_JOBNAME         = w_oldJobName
              "SDLSTRTDT            = sy-datum
              "SDLSTRTTM            = sy-timlo
            IMPORTING
              JOB_WAS_RELEASED = w_job_released.
      ENDIF.
      "Vars get the value of current job, witch will become the older one
      w_oldJobId = w_jobID.
      w_oldJobName = w_JobName.
    "I make the new TOTO_STEPX job name
      ADD 1 TO w_jobCount.
      w_jobCountC = w_jobCount.
      CONCATENATE pe_name '_STEPS' w_jobCountC INTO w_JobName.
      CONDENSE w_JobName NO-GAPS.
      "I open the new job
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname          = w_JobName
        IMPORTING
          jobcount         = w_JobId
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
    ENDFORM.                    "fx_jobclose
    I hope my code is clear enought, I tried to delete the superfluities code.

  • Schedule job with JOB_CLOSE until a certain time

    Hello all,
    I'd like to schedule a background job with JOB_CLOSE until a certain time, i.e. first start time at 10 a.m., repitition period 15 min., last start time 1 p.m.
    I tried this using parameter LASTSTRTTM, e.g.:
    i_startdate = sy-datum.
    i_starttime = '100000'.
    i_prdmins = '15'.
    i_laststrtdt = sy-datum.
    i_laststrttm = '130000'.
    CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount             = l_jobcount
          jobname              = 'MY_JOB'
          sdlstrtdt            = i_startdate
          sdlstrttm            = i_starttime
          laststrtdt           = i_laststrtdt
          laststrttm           = i_laststrttm
          prdmins              = i_prdmins
        EXCEPTIONS
          cant_start_immediate = 1
          invalid_startdate    = 2
          jobname_missing      = 3
          job_close_failed     = 4
          job_nosteps          = 5
          job_notex            = 6
          lock_failed          = 7
          OTHERS               = 8.
    but I didn't succeed - the job didn't stop at 1 p.m. Any hints?
    Best regards
    Martin Lehmann

    Hi Martin,
    i_startdate = sy-datum.  " 1st time Job Start Date
    i_starttime = '100000'.
    i_prdmins = '15'.
    i_laststrtdt = sy-datum.  " If Job is not started by this date, then it wont be started once this date is completed
    i_laststrttm = '130000'.
    What it means is, if i want to start a job by 10th Oct.. & expect that it should be started maximum by 20th Oct.. If its 20th Oct & still the job is not started,... then terminate the job & do not start it..
    If the job is already started, then it wont stop.
    Hope its clear.
    Best regards,
    Prashant

  • Creating a job with arguments

    Hi,
    This might sound really remedial, but can someone explain to me how I go about creating a job with arguments with programs. It errors out when I try to use DEFINE_PROGRAM_ARGUMENTS and when I try to use SET_JOB_ARGUMENTS_VALUE. Maybe it's the order I do it in. Any directions would be much appreciated. Thanks!
    Tony

    Hi Tony,
    Almost any internal error is an Oracle bug and you should report this to support.
    This is definitely not supposed to happen and I haven't seen this error before, do you have a test case throwing the error ?
    Using program arguments should be fairly straightforward. Here's a simple example with two varchar2 arguments
    -- create a stored procedure with two arguments
    create or replace procedure myproc (arg1 in varchar2, arg2 in varchar2)
    is BEGIN null; END;
    -- create a program with two arguments and define both
    begin
    dbms_scheduler.create_program
    program_name=>'myprog',
    program_action=>'myproc',
    program_type=>'STORED_PROCEDURE',
    number_of_arguments=>2, enabled=>FALSE
    dbms_scheduler.DEFINE_PROGRAM_ARGUMENT(
    program_name=>'myprog',
    argument_position=>1,
    argument_type=>'VARCHAR2',
    DEFAULT_VALUE=>'13');
    dbms_scheduler.DEFINE_PROGRAM_ARGUMENT(
    program_name=>'myprog',
    argument_position=>2,
    argument_type=>'VARCHAR2');
    dbms_scheduler.enable('myprog');
    end;
    -- create a job pointing to a program and set both argument values
    begin
    dbms_scheduler.create_job('myjob',program_name=>'myprog');
    dbms_scheduler.set_job_argument_value('myjob',1,'first arg');
    dbms_scheduler.set_job_argument_value('myjob',2,'second arg');
    dbms_scheduler.enable('myjob');
    end;
    Hope this helps,
    Ravi.
    -Ravi

  • STOPPED JOBS with expdp and dbms_scheduler

    Hello.
    I am working with the 10g release 2 in a RAC enviroment, and i am trying to put an export job at the scheduler.
    To launch the export i have make a shell script, then first exec the export process and after launch a bzip2 command to compress the resultant dmp file.
    The problem is that the export process finish ok, but it don't compress the file, because the scheduler mark the job as STOPPED.
    The log say:
    REASON="Stop job with force called by user: 'SYS'"
    and the expdp S.O process that launch the extjobo stay runing for ever, like if it was waiting for the expdp to exit and it can`t so the script never arrive to the part that compress the file.
    I put the script that i make to export the schema:
    #!/bin/bash
    export ORACLE_HOME=/opt/oracle/product/10.2.0/db
    export PATH=$PATH:$ORACLE_HOME/bin
    export DIRBACK=/ORACLE/BACKUPS/BMR/Dumps
    export dia=`date +%d_%m_%Y_%H_%M_%S`
    export LOG=dump_backup_bmr_$dia.log
    cd $DIRBACK
    $ORACLE_HOME/bin/expdp userid=oracle_backup/orabck@BMR dumpfile="BMR_BMR_$dia.dmp" schemas=BMR directory=Dumps logfile=$LOG
    cd $DIRBACK
    /usr/bin/bzip2 -f --best ./BMR_BMR_$dia.dmp
    cd $DIRBACK
    /bin/mail -s "DUMP BACKUP BMR DIARIO [$dia]" [email protected] < ./dump_backup_bmr_$dia.log
    I have put several cd $DIRBACK to see if it fail because the script don`t find the dmp file.
    Any idea why it STOP after finish the script ?
    PD: sorry for my poor english.
    Regards

    Hi,
    A stop is only done in two cases - if the user calls dbms_scheduler.stop_job or if the database is shutdown while a job is running. Make sure the database is not being shutdown while the job is running or inside of the job.
    If expdp is still running then this suggests that it is hanging. One possibility for that is that expdp is generating a lot of standard error messages and hanging the job (this is a known issue in 10gR2). You can try redirecting standard output and error to files to see if this helps.
    e.g.
    $ORACLE_HOME/bin/expdp > /tmp/output 2> /tmp/errors
    Hope this helps,
    Ravi.

  • How to save Jobs with different priority level in a Queue?

    Hi, Friends,
    I have a set of Job (see below) objects.
    I would make a queue: if they have the save priority level, first in and first out. this is easy to do by ArrayList. however, If they have different priority level, I would like make the Jobs with the highest level first out.
    How can I implemented this idea in Java?
    Regards,
    Youbin
    public class Job {
    private short _priorityLevel = 0;
    public void setPriorityLevel(short priorityLevel) {
    this._priorityLevel = priorityLevel;
    public short getPriorityLevel() {
    return _priorityLevel;

    Hi,
    Here is my test code, it works:
    public class Job implements Comparable{
    private int _priorityLevel=0;
    private String _jobDescription=null;
    public Job() {
    public void setPriorityLevel(int priorityLevel) {
    this._priorityLevel=priorityLevel;
    public int getPriorityLevel() {
    return this._priorityLevel;
    public void setJobDescription(String jobDescription) {
    this._jobDescription=jobDescription;
    public String getJobDescription() {
    return this._jobDescription;
    public int compareTo(Object obj) {
    return (this._priorityLevel-((Job)obj)._priorityLevel);
    import java.util.LinkedList;
    import java.util.Iterator;
    import java.util.Collections;
    import java.util.Collection;
    public class test {
    public test() {
    public static void main(String[] args) {
    Job job1 = new Job();
    job1.setJobDescription("Job1");
    job1.setPriorityLevel(2);
    Job job2 = new Job();
    job2.setJobDescription("Job2");
    job2.setPriorityLevel(2);
    Job job3 = new Job();
    job3.setJobDescription("Job3");
    job3.setPriorityLevel(2);
    Job job4 = new Job();
    job4.setJobDescription("Job4");
    job4.setPriorityLevel(1);
    Job job5 = new Job();
    job5.setJobDescription("Job5");
    job5.setPriorityLevel(1);
    Job job6 = new Job();
    job6.setJobDescription("Job6");
    job6.setPriorityLevel(1);
    LinkedList linkedList = new LinkedList();
    linkedList.addLast(job1);
    linkedList.addLast(job2);
    linkedList.addLast(job4);
    Iterator ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    linkedList.addLast(job3);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    linkedList.addLast(job5);
    linkedList.addLast(job6);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    }

  • Job with Multiple Schedule of same time & only one is executed, Why

    Hi ALL,
    I've Created a package to notify report in email  as excel, which is using a path to render report and save it as excel.
    This package was need to be schedule every first day of month and on every Friday even at morning 7 AM.
    So logically these are two events.
    But if we see on 1 May 2015 we have Friday and plus first day of month
    So technically this should fail.
    either for IO operation for render &
    storing data over same location with same file name.
    To replicate this i created two three schedule
    Below is the job history, job is invoked by only one schedule
    Question-
    1) Why one one schedule execute?
    2) why "sched2" only , it could be "sched3" only or "DentalOperationStackAndRank-Sched1" Only?
    Another this i result into error if different job executing same package at same schedule.
    FYI- package is deployed at database level
    HS

    Hi HS,
    As described in this
    article, more than one job can run on the same schedule, and more than one schedule can apply to the same job.
    And I make a test about your scenario, when configuring a SQL Server job with three schedules that reference same dates and times, my job behaves as yours that only one schedule is executed, but the job is invoked by schedule2 or schedule 3 in my environment.
    It is a normal behavior of SQL Server job in my opinion. For more details about such scenario, you can track the job following this
    blog.
    However, when I configure three jobs that run on the same schedule, everything works well and the three jobs all run successfully.
     I recommend you configure three different jobs that execute same package at same schedule .
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

  • Batch job with 2 conditions

    Hi,
    We have a program that will create a batch job and then we need to go to SM35 to run that batch job manually. We want to avoid this manual step and what we want to do is to as soon as our program runs it will create a batch job and then batch job should kick off automatically.
    One of the solution that came to my mind is to schedule a batch job with two conditions:
    1. in first condition it will run our main program
    2. and in 2nd step it will look out for the batch job that created in SM35 and will kick off that, but I am not sure how can i do this using Sm36.
    I was also wondering if there is another way so that we can just avoid the batch run for the second step?
    So can you please help me with this.
    Thanks,
    Rajeev

    SM35 -> batch sessions, so I assume you are talking about these.
    You can start sessions under program control by submitting program RSBDCSUB after creation of the session.
    Thomas

  • Kill last reports job with web.show_documents ?

    Hi,
    I call the Reports service for creating PDF - reports from a Forms modul ,
    after creating the report I kill this last Report-job with web.show_document but get the xml response in a new browser window.
    Is there another method to send the Report request from Forms without opening this second browser window incl. response data ?
    (e.g. a atomic security bundle: Show report result & kill the job ..)
    Many thanks
    F.

    Eventually , the report run... when the active thread got the value 1. How is it done...(i mean the value of 1 , instead of 2 when the report started...????) How to secure that the active thread would be 1 if this is the problem...????
    However , because the report is 2 page accross.... the report displays the first page and down the other page.... Is it possible to display both pages accross as i see them in report builder env....?????
    Thanks , a lot
    Simon

  • Schedule the Back ground Job with Fiscal Year Vaient????

    Hello Guru's,
    Please let me know the process of "Schedule the Back ground Job with Fiscal Year Vaient" in APO DP?
    Great thanks for your help.
    Regards,
    Sree

    Hi Venkat,
    As i told i am maintaining the periods as 5-4-4, So i want schedule the job as first after the 5th week, then after the 4 th week, then after the 4th week and again after the 5th week ...... like that....
    can we schedule the job in back ground as per this periodically???
    Thanks for the response.
    Regards,
    Sree!!
    Edited by: sree gunti on Nov 26, 2008 3:30 PM

  • How to define job with different username

    Friends,
    How can I define a job with another username . Or how can I change a job running with a user name to another username. Please advise.
    Thanks.

    You can change the ID of the user than is used to run each step of the job, but not the user that created the job. In SM37 go into the job of interest (the next scheduled job) choose Job -> Change. From here choose the steps and go into each job step by choosing Change, the first field in the pop-up holds the user ID that will be used to run that step when the job is executed.
    The user ID that created the job will still show in the SE37 job overview, it it nolonger plays an active part in the job.
    ~As found in forum

  • Registering OWB jobs with OEM

    We are facing the problem of OWB job registration in OEM. The error message that we are getting is
    " Failed to register the jobs with OEM: OEM Registration Failed. Please make sure you have OEM client Installed locally, thee Oracle Management Server is running, and you have entered correct connection information and OEM information under 'Preferences'.
    Error in initializing the service. Please enter correct OMS domain name in the configuration parameter and make sure that the OMS is running.
    Oracle.sysman.emSDK.client.omsclientVersionMismatchException: Unable to connect to the Management server ind-spz7w2s0055.com. The management server version 9.2.0.1.0 Production is incompatible with this client 9.0
    Job object failed to create, check to see if user has credentials."
    The above mentioned paragraph is a single error message that we are getting.
    We have referred to following documents at Metalink site:
    Doc ID : Note 1081184.6
    Doc ID : Note 124011.1
    Doc ID : Note 169922.1
    . We have also installed the patch 9.0.2.66.0. but problem continues.
    Please help.

    Lucas,
    Your first issue is regarding the control file not being passed. In order to fix that you have to specify the control file in the mapping configuration. Beware that this control file is being read through utl_file, i.e. you will have to set the utl_file_dir in the init parameters of your database to the correct directory in order for the database to be able to read it. Basically, the control file is being read in order to fill the audit tables with the correct data.
    Your second issue is regarding the type of job. As you may know OWB 'integrates' with Oracle Workflow (OWF) as well. The OWF solution also relies on the use of OEM for job execution. All of that is currently managed by Workflow Queue Listener. In order for Workflow Queue listener to be able to correctly handle the OEM jobs (defined as external functions in OWF) the job has to be defined as is. Besides, with the current way of registering the jobs all jobs (PL/SQL, ABAP or SQL Loader) are registered in the same way and directed by parameters.
    Hope this helps,
    Mark.

  • Jobs with in 7 days time

    hiya ,
    in the program i should output all the jobs with in 7 days time...
    this is my logic but it aint working....plz advise
    gc_strt_dt_new = p_date-low.
    **First loop date for high is always correct.
        lv_orig_end_dt = p_date-high.
        lv_orig_str_dt = p_date-low.
    **Loop while endate > startdate
      WHILE p_date-high > p_date-low.
        lv_orig_str_dt = lv_orig_end_dt - 6.
        IF p_date-low < lv_orig_str_dt.
          p_date-low = lv_orig_str_dt.
        ENDIF.
    *Create Job step*
        SUBMIT zdjstest_activity_driver VIA JOB gv_jobname
                                        NUMBER gv_job_number
                                        WITH p_date
                                        BETWEEN  p_date-low AND
                                                   p_date-high
                                        SIGN 'I'
                                        AND RETURN.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    **Otherwise high and low range should be reduced to new value
        p_date-high = p_date-high - 7.
        p_date-low = p_date-low - 6.
        IF p_date-low LE gc_strt_dt_new.  "contains input p date low !!!
          EXIT.
        ENDIF.
      ENDWHILE.
    thanks
    Edited by: Alvaro Tejada Galindo on Feb 18, 2008 2:11 PM

    TThis is definitely and issue that no one here can help with. You must take this up with ATT. If you paid the original bill with a credit card call your credit card company and dispute the charge. Otherwise keep talking to ATT.

Maybe you are looking for