INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Jobs from Indeed

Aspect scripting in telecomm

Aspect scripting in telecomm

(OP)
I work in a MTSO for a cellular company. The good Lord knows I would have withdrawals if they took Procomm away from me!

Anyhow....just saying hello. New to this page/forum.

Kudos to knob and www.aspectscripting.com. VERY helpful stuff in there.

I mostly write scripts on Tellabs DACS (5500) and DMS-MTX switch. If someone is looking for something....I may have it already built. My scripts aren't neat and clean, but they make sense. I build them VERY PLAIN in a attempt to get others involved in Aspect.

Enjoy!

RE: Aspect scripting in telecomm

Glad to be of help.  If you have any scripts you would like me to put on my site, I would be happy to do so (just give me enough of a description so I can list them accurately).

http://www.aspectscripting.com

RE: Aspect scripting in telecomm


Cuberat,

I also work for a cellular company, have 5500 and would love to see any scripts that would make life with TL1 any easier, I spend way too much time looking up command syntax for infrequent task when EMS isn't operational.

RE: Aspect scripting in telecomm

2
(OP)
I used to work for Tellabs in tech support.

Trust me when I say this: they make a good product, but
the EMS is not needed. Get rid of it.

As you know, the EMS is a GUI. It has 1 or 2 features that can be useful from a switch tech's perspective. From a NOC perspective, even more so. But if you work with folks in the switch, quit using it and get back to TL1.

ANYTHING that thing can do, you can do on your own in TL1. And scripting it in TL1/Procomm is easy. You can start with a record session and fine-tune it from there.

In Procomm, I use a meta-key for RTRV-COND-ALL:::CTAG;
That's simple. I also use another metakey to link to a script that runs multiple commands (CONN-TACC....RTRV-PM...editing T1's for PASUSP....etc). It's one script that runs a menu system connected to other scripts or commands.

Here's one I built (by using the record method) to grow from the STS1 level (on a OC3, OC12 or STS1E)....grows the STS1's, and the VT1's.....IN SERVICE, with passive alarm suspension on. It does the STS1~VT1.....one at a time.....but loops. It asks for the SDF as the input. You can augment it to loop 3 times....or 12 times....whatever.

If you ask why I don't include the OC3 (OPM, OPM3-W, OPM3-P).....because....people have a tendency to cross the fibers a LOT. From my experience, you'll need to rework the fibers. If they're wrong, it would crash this simple script. I could write one that would encompass reworking the fibers, but it's not worth the effort (unless I got paid for it). Besides...those commands only take a few seconds. Once you get the fibers straight, this script should just fly on it's own.

proc main
string VTEnter
integer Jump
setjmp 0 Jump
sdlginput "5500 Mass VT Enter" "Enter the SDF of the VT1.5's:" VTEnter
if FAILURE
halt
endif
transmit "ENT-STS1::STS1-"
transmit VTEnter
transmit ":CTAG:::ALM=ALW,PASUSP=TRIG,PATM=00-02-00:IS;"
waitfor "COMPLD" 60
transmit "SET-PMMODE-STS1::STS1-"
transmit VTEnter
transmit ":CTAG::NEND,ALL,ON;"
waitfor "COMPLD" 60
transmit "ENT-VT1::VT1-"
transmit VTEnter
transmit "-1&&-28:CTAG:::ALM=ALW,PASUSP=TRIG,PATM=00-02-00,VTMAP=ASYNC:IS;"
waitfor "COMPLD" 120
transmit "SET-PMMODE-VT1::VT1-"
transmit VTEnter
transmit "-1&&-28:CTAG::NEND,ALL,ON;"
waitfor "COMPLD" 60
longjmp 0 Jump
endproc

Once again....I build scripts for OTHER PEOPLE TO LEARN this. I don't build them to be pretty or neat. I build them to be educational and functional.

Give it a shot.

RE: Aspect scripting in telecomm

Cuberat,

Appreciate the primer I can definitely expand on this, I agree the EMS is a dumb animal, but it is useful for redundant task,
I am still forced to use TL1 for quite a great deal as the EMS leaves quite a bit to be desired at times.

RE: Aspect scripting in telecomm

(OP)
Such as????

RE: Aspect scripting in telecomm

Redundant task like deleting multiple crossconnects, entering the same on and just quick verification of PM properties.

It is convience factor....

RE: Aspect scripting in telecomm

Cuberat or Knob,


I have one for you I am tasked with a repetitive task, I would like to take a column from a spreadsheet which contains in-service ports which I would like to use the simple script below to set to collect stats.

From the excel sprdsheet I would like to place SDF # column data into T1Enter variable, and repeat this till the final cell is reached in that column.

Any ideas would be helpful...

proc main
string T1Enter
integer Jump
setjmp 0 Jump
sdlginput "5500 Gibson T1 Enter" "Enter the SDF of the T1.5's:" T1Enter
if FAILURE
halt
endif
transmit "SET-PMMODE-T1::"
transmit T1Enter
transmit "-1&&-28:WW::NEND,ALL,ON;"
waitfor "COMPLD" 60

longjmp 0 Jump
endproc

RE: Aspect scripting in telecomm

Here's a quick sample from my site that I modified to read from column 3, then exit when it reads a blank cell.  You would need to insert the proper commands at the commented section that reads "your commands here"

proc main
   long LinkVar, SystemVar                      ;Variables containing DDE Id's.
   string szText                                ;Text read from DDE link to Excel.
   integer iRow                                 ;Row and column variables
   string sRowCol                               ;Holds request for row and column
   integer iLen                                 ;Holds length of string received from Excel

   iRow = 1                                     ;Start reading with row 1

   ;Set up DDE links to Excel's system and a spreadsheet. Excel
   ;must be running in order for this script to work properly.
   if ddeinit SystemVar "excel" "system"
      ddeexecute SystemVar "[FULL(TRUE)]"       ;Maximize the spreadsheet.
      if ddeinit LinkVar "excel" "sheet1"       ;Set up link to spreadsheet.
         while 1                                ;Loop forever.
            strfmt sRowCol "R%dC%d" iRow 3      ;Format request for data from current row, column 3
            dderequest LinkVar sRowCol szText   ;Read data from spreadsheet, current row, column 3
            strlen szText iLen                  ;Get length of string
            if iLen == 2                        ;Indicates empty cell
               exitwhile                        ;Exit the while loop.
            else
               ;your commands go here
            endif
            iRow++                              ;Increment row value
         endwhile
         ddeterminate LinkVar                   ;Break DDE link to spreadsheet.
         ddeterminate SystemVar                 ;Break DDE link to Excel.
      else
         errormsg "Couldn't establish DDE link to spreadsheet!"
      endif
   else
      errormsg "Couldn't establish DDE link to Excel!"
   endif
endproc

http://www.aspectscripting.com

RE: Aspect scripting in telecomm

OK Knob,

I am a bit of a Polish hacker (It's a joke son)
I attempted to modify the script but ran into a problem, had excel sprdsheet open but got "Couldn't establish DDE link to Excel!".

I am running Windows 2000, and here is the script as I attempted to run it:

proc main
   long LinkVar, SystemVar                      ;Variables containing DDE Id's.
   string szText                                ;Text read from DDE link to Excel.
   integer iRow                                 ;Row and column variables
   string sRowCol                               ;Holds request for row and column
   integer iLen                                 ;Holds length of string received from Excel

   iRow = 6                                     ;Start reading with row 6

   ;Set up DDE links to Excel's system and a spreadsheet. Excel
   ;must be running in order for this script to work properly.
   if ddeinit SystemVar "excel" "system"
      ddeexecute SystemVar "[FULL(TRUE)]"       ;Maximize the spreadsheet.
      if ddeinit LinkVar "c:\Program Files\Symantec\Procomm Plus\Capture\SDFEQP.xls" "sheet1"       ;Set up link to spreadsheet.
         while 1                                ;Loop forever.
            strfmt sRowCol "R%dC%d" iRow 3      ;Format request for data from current row, column 3
            dderequest LinkVar sRowCol szText   ;Read data from spreadsheet, current row, column 3
            strlen szText iLen                  ;Get length of string
            if iLen == 2                        ;Indicates empty cell
               exitwhile                        ;Exit the while loop.
            else
               ;set-pmmode-t1::szText-1&&28:ww::nend,all,on;
            endif
            iRow++                              ;Increment row value
         endwhile
         ddeterminate LinkVar                   ;Break DDE link to spreadsheet.
         ddeterminate SystemVar                 ;Break DDE link to Excel.
      else
         errormsg "Couldn't establish DDE link to spreadsheet!"
      endif
   else
      errormsg "Couldn't establish DDE link to Excel!"
   endif

endproc



RE: Aspect scripting in telecomm

On the if ddeinit LinkVar command, you just need "excel" in the double quotes and not the actual path to the spreadsheet ("excel" is the server name of the application, not the actual file in this case).  If you make that change, does it work?

http://www.aspectscripting.com

RE: Aspect scripting in telecomm

Knob,

I tried both ways, with the change back to the original "excel" "sheet1" the compile completes without error, but when executed the script does absolutely nothing at all...

RE: Aspect scripting in telecomm

OK, if you are not getting any error messages displayed, then it should be accessing the spreadsheet OK now.  You will need to uncomment and/or modify this line:

;set-pmmode-t1::szText-1&&28:ww::nend,all,on;

so that the script can perform whatever commands are needed with the spreadsheet cell contents that are in the szText string variable.

http://www.aspectscripting.com

RE: Aspect scripting in telecomm

there are examples here to build a dll link to an excel, i built a few but find saving the excel as a tab delimited works quicker and give me less debug problems.. this guy has the market cornered on aspect

http://www.aspectscripting.com/index.shtml

john poole
bellsouth business
columbia,sc

RE: Aspect scripting in telecomm

anyone looking for scripts to use with merridian sl-1, that forum has a few pretty decent one's.. started using tab delimited to make changes and now i would be lost without then.. making even a simple change on a few thousand sets turns 40 hours into 2 hours.. good thing is during those two hours, i can watch tech-tips...

john poole
bellsouth business
columbia,sc

RE: Aspect scripting in telecomm

and Cuberat welcome to the site

john poole
bellsouth business
columbia,sc

RE: Aspect scripting in telecomm

Script funtioning but the string variable "szText" is being inserted into the command I am sending instead of the number contained within the cell.

Is there a command used to verify the content of the string vaiable...??

RE: Aspect scripting in telecomm

You can use

usermsg "%s" szText

if by verify you mean you want to see what is being stored in that variable.

http://www.aspectscripting.com

RE: Aspect scripting in telecomm

Afternoon,
I am new to Procomm as I just started working with reporting in my company and we use Procomm as our customer service statistics reporting.  I have done some previous coding in Microsoft Access and have gotten pretty good, although I have no formal education, so I don't know anything else.  I was at http://www.aspectscripting.com/index.shtml but I think it is a little over my head or too high level from what I was looking for. So...

The way I was instructed was that this program will always print to a specific printer when requesting stats, they say that no screen actually displays that info, but once you get to a certain screen you enter the date and time range, then you press F9-Process, then it automatically prints it.  I want it to output a file in addition to the print, I don't care what kind of file as long as it has the numbers, .txt, .csv, it doesn't matter.  I am assuming this is somewhere in the script because it doesn't matter what you change on the printer set-up it sends to the same printer.  Although, I have no idea where to look, I was looking at some of the scripts, but can't find any command for it to send to any IP address or printer.  I am just assuming that a program of this nature has more options than just printing.

Any and all help would be appreciated.

Thanks
Peter

RE: Aspect scripting in telecomm

This is a script I use to provide a sort of psuedo-GUI for use when testing DS1 circuits through a TTC Centest platform.   The script was written to provide a NETSEND warning message if errors are seen on test or monitor, but I have lost that capability, as Windows XP does not include the Netsend command.   Is there a means of gaining the same result another way?


integer jmp1,status
string CMD
integer MIN = 32
integer NUM

proc main
set txpace 0
setjmp 0 jmp1
 
dialogbox 0 410 45 222 120 30 " CENTEST"
   pushbutton 1 95 102 32 11 "&EXIT" CANCEL
   pushbutton 2 13 14 32 11 "CSU UP"
   pushbutton 3 13 30 32 11 "CSU DN"
   pushbutton 4 51 14 32 11 "SMJ UP"
   pushbutton 5 51 30 32 11 "SMJ DN"
   pushbutton 6 138 14 32 11 "SMJ UP"
   pushbutton 7 138 30 32 11 "SMJ DN"
   pushbutton 8 176 14 32 11 "CSU UP"
   pushbutton 9 176 30 32 11 "CSU DN"
   pushbutton 10 175 78 32 11 "MON"
   pushbutton 11 33 46 32 11 "QRSS"
   pushbutton 12 157 46 32 11 "QRSS"
   pushbutton 13 95 46 32 11 "BI QRSS"
   pushbutton 18 95 14 32 11 "DISC"
   groupbox 14 7 2 82 61 "  Selected"
   groupbox 15 132 2 82 61 "  Connected"
   groupbox 16 7 65 206 29 "  Monitor Period"
   radiogroup 17 MIN
      radiobutton 29 18 79 36 9 "5 MIN"
      radiobutton 30 53 79 36 9 "15 MIN"
      radiobutton 31 92 79 36 9 "30 MIN"
      radiobutton 32 130 79 36 9 "60 MIN"
   endgroup
enddialog

winactivate $PWMAINWIN

dlgevent 0 status
    while ! ((status == 1)||(status == 2)||(status == 3)||(status == 4)||(status == 5)||(status == 6)||(status == 7)||(status == 8)||(status == 9)||(status == 10)||(status == 11)||(status == 12)||(status == 13)||(status == 18))
        dlgevent 0 status
        yield
    endwhile

dlgdestroy 0 CANCEL

if status == 1
    exit
endif

if status == 2
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 s user 10000^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 3
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 s user 100^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 4
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 s user 11000^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 5
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 s user 11100^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 6
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 c user 11000^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 7
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 c user 11100^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 8
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 c user 10000^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 9
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 c user 100^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 10
   if MIN == 29
      strfmt s1 "NET SEND username !_!_!_!_!_!_!_  ERRORS ON   %s    _!_!_!_!_!_!_!" $PWTITLEBAR
"mciexec "SOUND u:\phone05.wav" $PWTITLEBAR
      for NUM upto 75 by 1
         if waitfor "s =" 2
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         elseif waitfor "DS1 FRAME SYNC W/ALARMS" 2
            strfmt s1 "NET SEND username !_!_!_!_!_!_!_  YELLOW ALM ON %s  _!_!_!_!_!_!_!" $PWTITLEBAR
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         endif
      endfor
   NUM = 0
   Cmd = s2
   DOS Cmd MINIMIZED
   endif
   
   if MIN == 30
      strfmt s1 "NET SEND username !_!_!_!_!_!_!_  ERRORS ON   %s    _!_!_!_!_!_!_!" $PWTITLEBAR
      strfmt s2 "NET SEND username !_!_!_!_!_!_!_  %s 15 MINS CLEAN  _!_!_!_!_!_!_!" $PWTITLEBAR
      for NUM upto 225 by 1
         if waitfor "s =" 2
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         elseif waitfor "DS1 FRAME SYNC W/ALARMS" 2
            strfmt s1 "NET SEND username !_!_!_!_!_!_!_  YELLOW ALM ON %s  _!_!_!_!_!_!_!" $PWTITLEBAR
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         endif
      endfor
   NUM = 0
   Cmd = s2
   DOS Cmd MINIMIZED
   endif
   
   if MIN == 31
      strfmt s1 "NET SEND username !_!_!_!_!_!_!_  ERRORS ON   %s    _!_!_!_!_!_!_!" $PWTITLEBAR
      strfmt s2 "NET SEND username !_!_!_!_!_!_!_  %s 30 MINS CLEAN  _!_!_!_!_!_!_!" $PWTITLEBAR
      for NUM upto 450 by 1
         if waitfor "s =" 2
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         elseif waitfor "DS1 FRAME SYNC W/ALARMS" 2
            strfmt s1 "NET SEND username !_!_!_!_!_!_!_  YELLOW ALM ON %s  _!_!_!_!_!_!_!" $PWTITLEBAR
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         endif
      endfor
   NUM = 0
   Cmd = s2
   DOS Cmd MINIMIZED
   endif
   
   if MIN == 32
      strfmt s1 "NET SEND username !_!_!_!_!_!_!_  ERRORS ON   %s    _!_!_!_!_!_!_!" $PWTITLEBAR
      strfmt s2 "NET SEND username !_!_!_!_!_!_!_  %s 60 MINS CLEAN  _!_!_!_!_!_!_!" $PWTITLEBAR
      for NUM upto 900 by 1
         if waitfor "s =" 2
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         elseif waitfor "DS1 FRAME SYNC W/ALARMS" 2
            strfmt s1 "NET SEND username !_!_!_!_!_!_!_  YELLOW ALM ON %s  _!_!_!_!_!_!_!" $PWTITLEBAR
            Cmd = s1
            DOS Cmd MINIMIZED
            NUM = 0
            longjmp 0 jmp1
         endif
      endfor
   NUM = 0
   Cmd = s2
   DOS Cmd MINIMIZED
   endif
endif

if status == 11
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 s 2`^ ^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 12
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 c 2`^ ^M"
   waitfor "(Y/N)"
   transmit "Y^M"
endif

if status == 13
   transmit "^M"
   waitfor "DS1_TST>"
   transmit "ds1 bi 2`^ ^M"
   waitfor "(Y/N)"
   transmit "Y^M"
   pause 2
   transmit "d"
endif

if status == 18
   transmit "^M"
   if waitfor "DS1_TST>" 2
   elseif waitfor "DS1_MON>" 2
   endif
   transmit "DISC^M"
   waitfor "(Y/N)"
   transmit "Y^M"
   pause 2
   transmit "INFO TEST ALL^M"
   exit
endif

longjmp 0 jmp1
endproc

RE: Aspect scripting in telecomm

Send it in e-mail?  Check knob's website for samples.

RE: Aspect scripting in telecomm

Windows XP supports NET SEND, but the usual problem is either the Windows Firewall is enabled, or the Messenger service is stopped.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close