Tuesday, 9 July 2013

MGCP gateway Call preservation

Many times when i think about the behaviour of  H323 and MGCP one think that commonly came to my mind is the call preservation.
after doing some research in internet i tried to consolidate the behaviour of call preservation in case of MGCP.

MGCP actually do a PRI backhaul to CUCM to pass the   layer 3(q931) information to the CUCM from the gateway so What will happen if the MGCP gateway is registered to a Subscriber in a cluster and subscriber goes down.

The information that is received by the subsciber will be shared by the publisher , So if the subscriber goes down those information will be available with the Publisher.As the D channel terminate on the MGCP gateway so it will be UP

  • CUCM send AUEP (Audit Endpoint) to the gateway to find the state of each B-channel
  • CUCM send AUCX for any Endpoint for which the gateway reports a preserved call
  • Send Q.931 Status Enquiry messages to the PRI device attached to the gateway to confirm the status of any calls CUCM believes are preserved.
hence the call in this case will be preserved

Now what will happen in case of SRST fall back ????

In case of SRST fallback  as it will reset the PRI backhaul hence the Layer 2 (Q921 ) will also reset and the call will drop, so no call preservation will work in case of SRST fallback ..

Configuring Queue based hunting in Cisco unified communication manager version ( CUCM ) 9

There is a new feature added on CUCM version 9 which provide call queueing while doing hunting  .
Few days back i tried simulating it in my Lab which i want to share in this blog.

To start with you first need to create a Line group i created a test  one as below :




Then add the DN to the Line group ..

Next create a Hunt list and include the Line group in that Hunt list .


Next is to create a Hunt Pilot ..

To create  a hunt pilot by navigating to Call Routing > Route/Hunt > Hunt Pilot

Then create a Hunt Pilot and navigate to bottom section of Hunt pilot   in the queue section mention the Audio file and queue settings.


Now whenever all the line group member are busy the caller will be put into the queue and will hear the queue music ..



Tuesday, 2 July 2013

UCCX Script for passing timezone as a parameter

Recently faced a requirement from one of our client to implement script for there different location which are in different timezone in in the same time to check the Working hour and weekdays.

After doing some research in the internet came across few valuable post but the one that i found will fulfill my requirement is from Johnathan in cisco support forum

In my script i have used the same one as a subflow for many of the subflow that  i have used in the main script.

That script will used predefined java classes   and fetch the data from the calender value in java

We defined a  a string value called currentTime as a string  and from the below code pass the value of the java script to currentTime and then change the current time to integer value as below .


Below script can be user to get the time and change the time zone based on the parameter of a string variable called timeZone :

You can use the set step to define the return value to currentTime (an integret variable defined in the script)

{
    //Initialize variables
    String strHourOfDay = "";
    String strMinute = "";
    String strSecond = "";
    //Set the time from local values
    java.util.Calendar callCalendar = new java.util.GregorianCalendar();
    int intHourOfDay = callCalendar.get(java.util.Calendar.HOUR_OF_DAY);
    int intMinute = callCalendar.get(java.util.Calendar.MINUTE);
    int intSecond = callCalendar.get(java.util.Calendar.SECOND);
    //Adjust to the timezone if specified
    if((timeZone != null) && (timeZone.length() >= 1))
    {
        callCalendar = new java.util.GregorianCalendar(java.util.TimeZone.getTimeZone( timeZone ));
        //Update the time for the timezone
        intHourOfDay = callCalendar.get(java.util.Calendar.HOUR_OF_DAY);
        intMinute = callCalendar.get(java.util.Calendar.MINUTE);
        intSecond = callCalendar.get(java.util.Calendar.SECOND);
    }
 
       if (intHourOfDay < 10)
                strHourOfDay  =  "0" + intHourOfDay;
    else
                strHourOfDay = "" + intHourOfDay;

    if (intMinute < 10)
                strMinute = "0" + intMinute;
    else
                strMinute = "" + intMinute;
      if (intSecond < 10)
                strSecond  =  "0" + intSecond;
    else
                strSecond = "" + intSecond;
    //STOP changing to string values

    //Return the time in a custom formatted form
    return strHourOfDay + strMinute + strSecond;
}

The current timeZone(string varaible) value  can be assigned from its preceding script using the subflow step and pass into this script.

and you can pass the time returned in the variable currentTimeint  to the preceeding call flow  and preeceding call flow can be can use this varaible to check the value with some predefined  integer variable passed as parameter in format hhmmss  and use an if statement to chenage boolean variable to change in true or flase based on working hour or not


I used it in my lab and  seesms to be good....

Sunday, 30 June 2013

Error "java.lang.NullPointerException" while adding variable in CCX editor Installed in Windows 7

few days back i was getting a weird behaviour from the instance of the installation of CCX editor(version 9.x) installed in my window 7 machine.
Every time i try to add a variable it is giving me a java error "java.lang.NullPointerException " . After going some google found a cisco post which explain the issue with new version of windows with CCX editor 7.x .

Here is the error i was getting

Resolution to this is as folows"

1. Right click on the icon for CRS editior

2. Go to Compatibility and choose run as windows 2000

Now try to re-launch the CCX/CRS editor and the above error should not re appear again...

:-)

Tuesday, 25 June 2013

How to Add your Site in Bidvertiser

There are many option apart from Adsense to monetize your blog . These days the google Adsense has become very strict in there policy of approving Ad sense Request and your request may get rejected, But don't be disappointed with that  there are many other option .

Here i will discuss how to add Bidvertiser on your blog.

To start with........

Loging to  http://www.bidvertiser.com and start your registration process by clicking on Join Free


Create a User id and possword and follow the next step .

Now enter your site details and details for what is your site about


Once done go to next page of the registration wizard and click on " Get Ad Code"





This step will generate a html code for your . Copy that html code on a notepad

Go to your blogspot profilr and navigate to the Layout  , add a  html gadget and paste the generated html code and save..

With this your Blog is now added for Bidvertiser

Changing MAC address of UCCX 9

Disclaimer : This blog is just for educational purpose and doesn't involved in any unlicensed and crack software .

The recent license approach of cisco is based on License MAC which is generated based on few parameter you provide during the installation.
However  i am writing this blog for the LAB users only for educational purpose .Plz don't apply this on our production servers.

Before changing the license MAC  you need to boot the UCCX box in rescue mode.You can use any bootbable linux CD however i used linux 5.

when the system boot it gives you a linux rescue mode.

Type Linux rescue in the boot mode

once the server enter into the rescue mode .

type chroot /mnt/sysimage



After that open the file at location /usr/local/bin/base_scripts/LicenseMac.sh and edit this with any editor ( i used the VI editior)

Search for the field ..
FinalString=`expr substr "$SHA1sum" 1 12`

Replace it with

FinalString="Your License MAC Addres"

to save and quit once you have modified the field  press "Escape" the :wq!

:wq!  will save and quit  the vi editor.

Now next step is to modify the  "/etc/selinux/config"

Open the file with VI editor and modify the file as below;

Change the SELINUX=permissive ( by default it will be enforcing mode)

Save and exit the file 

Reboot your uccx box and check using the command show status your new license MAC , upload the permanent license you have with license MAC




Monday, 24 June 2013

Adding Your blog to Alexa

Adding site to alexa.com to monitor your site ranking .For doing this you need to have a login account in alexa.com which can be created easily .
Once the login is created login to the Alexa.com with yiur alexa userid and password.




Go to Dashboard and add your website link

Enter the website detail and click on claim your site .

Next use the free option to sign up

Use the second option and copy the  verification code.


Add this verification code in your Blog HTML editor and save.

Click on verify my ID

Done..