Pages

Monday, 16 September 2013

How to find port number of SQL Server instance?


  • Click Start > All Programs > Microsoft SQL Server <2005 / 2008 / 2012> > Configuration Tools >SQL Server Configuration Manager
  • Go to SQL Server Configuration Manager > SQL Server Network Configuration >Protocols for <Instance Name>
  • Right Click on TCP/IP and select Properties




  • In TCP/IP Properties dialog box, go to IP Addresses tab and scroll down to IPAll group.


  • If SQL Server if configured to run on a static port it will be available in TCP Port textbox. If it is configured on dynamic port then current port will be available in TCP Dynamic Ports textbox

Wednesday, 12 June 2013

PDF Reader

 

I always wanted to develop my own PDF reader so that I can organize all product manuals inside application, which will make it easy to browse/search with titles.

Well, I took first step towards this and developed PDF reader application, as below

SNAGHTML7e2bd2

I used open API’s to develop this with aim to develop web application like Google documents to read PDF files. I believe, it is good idea to store product documents in intranet and provide web access to it

In the coming weeks, I am planning to add functionality to organize documents. add search functionality and make it available as free download Smile

Tuesday, 21 May 2013

How to create dump file for process using Dr.Watson utility?

 

This article describes how to create dump file for process using dr.watson utility

    • Verify the PID of the service or process from Task Manager.
    • Click the Processes tab.

SNAGHTMLc88ad5

    • If you do not have a PID column, click View, click Select Columns, and then click to select the PID (Process Identifier) check box.
    • SNAGHTMLc5d8a6[4]
    • At the Run Command, run the following command
      drwtsn32
    • Set the Crash Dump Type to Full and click OK.
    • From the command prompt execute the following command:
      drwtsn32 -p XXXX

      (XXXX is replaced with the PID for that process or service).
      This captures a dump and terminate the process or service.
    • You might need to manually restart the process or service that was dumped.

    By default the dump file created by Dr. Watson is named user.dmp and is saved in the following location: drive:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Dr Watson

Sunday, 27 January 2013

Configure default IVR profile

 

It is best practice to configure default IVR profile in GVP environment, in case, if your regular DN-Profile mapping is not happening. This post will explain step by step instructions to configure default profile

  • select your' ‘tenant’ object – in most cases, it is ‘Resources’ – under Administrator –> Provisioning –> Tenants
  • Create section gvp.general in options tab and update following values
    • name : default-application, value : DefaultApp (Default IVR Profile application name)
    • name : service-type, value : voicexml
  • Click ‘Save & Close’ to save settings

Tuesday, 8 January 2013

Easy way to find default routed calls in URS log

Whenever URS default routes calls, it will be logged with ‘EventRouteUsed(strange)’

You can simply search for this string to identify call flows which resulted in default route or use ‘find in files’ option from text editor to calculate number of calls which were default routed. Smile

Monday, 7 January 2013

Deleting Log records from Log Database


As we all know, Genesys applications can be configured to store log records in database. Unfortunately, there is no automatic maintenance option and have to purge data either manually or schedule script for this.

Manual Process

You can use ‘Log Database Maintenance Wizard’ from SCI to maintain database. If there are large number of records in database, GUI get stuck and many times, have to kill it. And you don't want to do this everyday, don't you.

Schedule it

You can use steps below to automate the process. But, this is manual process and was looking to automate it. Fortunately, we don’t have to dig deep for this as SQL scripts are available from the wizard itself. You can easily find that log records are stored in two tables as below
  • G_LOG_MESSAGES
  • G_LOG_ATTRS
and to delete logs which are older than 15 days, use script below

   1: delete from G_LOG_ATTRS where LRID not in (select G_LOG_MESSAGES.ID from G_LOG_MESSAGES)

   2:  

   3: delete from G_LOG_ATTRS where LRID in (select G_LOG_MESSAGES.ID from G_LOG_MESSAGES where TIMEGENERATED < DATEADD(DAY, -15, GETDATE()))

   4:  

   5: delete from G_LOG_MESSAGES where TIMEGENERATED < DATEADD(DAY, -15, GETDATE())


You need to run this in the same order as above and recommend to schedule to run every 24 hours. You can configure this as SQL Server Agent job or run this sql as scheduled task from windows.

Tuesday, 13 November 2012

Difference between SIP REFER and (RE)INVITE

What is this and when it is used? When I started working in SIP environment, it was confusing to me, as well.

But after reading RFC3261, it became clear to me. Simply said, REFER method is used for transferring a call and INVITE is used to change session media information.

Refer to the example below to understand it more clearly.

REFER – Example


Suppose Alice and Bob are on call and Alice wants to transfer call to Carol, Alice will send REFER to Bob with Carol information.
Transfer-Unattended
REFER sips:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.example.com:506;branch=z9hG4bKnashds8
Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=314159
Call-ID:
12345601@atlanta.example.com
CSeq
: 101 REFER
Refer-To: <sips:carol@chicago.example.com>
Referred-By: <alice@atlanta.example.com>

Contact: <sips:alice@client.atlanta.example.com>
Content-Length: 0
(RE)INVITE – Example 



If Bob wants to session media information, then INVITE is sent again with updated information. Consider, call on hold as an example for this.

In this scenario, Alice calls Bob, then Bob places the call on hold.Bob then takes the call off hold, then Alice hangs up the call.


           Call Hold

F1 INVITE Alice -> Proxy 1

      INVITE sips:bob@biloxi.example.com SIP/2.0
      Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9
      Max-Forwards: 70
      From: Alice <sips:alice@atlanta.example.com>;tag=1234567
      To: Bob <sips:bob@biloxi.example.com>
      Call-ID: 12345601@atlanta.example.com
      CSeq: 1 INVITE
      Contact: <sips:alice@client.atlanta.example.com>
      Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
      Supported: replaces
      Content-Type: application/sdp
      Content-Length: ...

      v=0
      o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
      s=
      c=IN IP4 client.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000

F10 INVITE Bob -> Proxy 1
      INVITE sips:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Route: <sips:ss1.example.com;lr>
Max-Forwards: 70
From: Bob <sips:bob@biloxi.example.com>;tag=314159
To: Alice <sips:alice@atlanta.example.com>;tag=1234567
Call-ID: 12345601@atlanta.example.com
CSeq: 1 INVITE
Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...

v=0
o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
s=
c=IN IP4 client.biloxi.example.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly

Here, you can see Bob changed SDP session attribute as ‘sendonly’ to place the call on hold and to retrieve the call, this will be changed to ‘sendrecv’.