cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
324
Views
5
Helpful
5
Replies

Calls Intermittently Going To Wrong Greetings

pjt8537
Level 1
Level 1

Running Unity 4.0(4) SR1, in a dual integration environment (serial-Avaya G3R/Call Manager 3.3). On the PBX side, we are experiencing sporadically calls going to the wrong greetings. I have modified the switch.ini file for the PBX to include the WaitIfBufferedPacketPresent=1 and the avsmdi.avd file to include the MsToWaitForCallInfo=3000. (I also tried 2000 on this parameter with no luck). There are 36 analog ports that calls hunt on, but due to the vectoring hunt scenario, most calls hit the first few ports consistently. For some reason Unity is acting on the buffered packets and not getting the most recent information quick enough. Are there any other fixes for this issue or anything else I can try?

Thanks,

Paul

5 Replies 5

eschulz
Cisco Employee
Cisco Employee

The WaitIfBufferedPacketPresent=1 setting typically doesn't have much impact unless you add the SerialAutoAnswer=1 parameter along with it. With this, you'll probably want to bring MsToWaitForCallInfo back down a bit again.

Here's a sequence of events notorious for causing this type of failure...

1. CallA hits Port1 and serial PacketA arrives

2. CallA is abandoned before Port1 answers (often internal callers that are forward to voicemail hang up the call as soon as the phone display shows they've been forwarded)

3. With analog lines, Unity has no easy way to know CallA was aborted. We have to wait for a long break in the ring cadence. Thus Unity still thinks CallA and PacketA are valid

4. CallB arrives on Port1 just around the time Unity attempts to answer CallA

5. CallB gets greeting that was intended for CallA

So, here's how the above parameters help mitigate that problem...

- Somewhere around step 2, Unity takes Port1 offhook due to SerialAutoAnswer

- Unity waits for MsToWaitForCallInfo to ensure PacketA is the last packet sent for CallA and not some stale packet left over from a previous call.

- Now, Unity must clear Port1 (go onhook) before CallB can arrive. Thus PacketA is cleared from the cache and the game starts again.

The real catch here is, as you note, the PBX keeps hammer calls onto the first few ports. What we really need is a guard timer on the PBX that'll prevent consecutive calls on the same port. SerialAutoAnswer, in a way, creates this guard timer. Unfortunately, it still can not be 100% but it should provide significant improvement.

Regards,

Eric

Thanks Eric! I have put that in place. We will have to see if that helps.

One other thing I forgot to mention. Please make sure your PBXLink is running the latest firmware. You can check this on the front LCD display. If you have anything less then 4.4 then fetch the upgrade with instructions from...

http://www.cisco.com/cgi-bin/tablebuild.pl/unity-util

-Eric

Just to follow up on this, http://www.cisco.com/en/US/products/sw/voicesw/ps2237/products_tech_note09186a0080094a54.shtml - in the 'Late Packets' section - seems to imply that the SerialAutoAnswer=1 parameter does not apply to PBXLink integrations - which is why we have never employed it as part of a solution to the problem (which we face as well).

Can you confirm that it is OK to set this parameter on a PBXLink integration, using Avaya0002.ini?

BTW: I like the idea of changing my vector around to more evenly distribute calls between Unity ports - I'll bet that has a positive impact on the situation.

Thanks,

- Tony -

Hi Tony,

The "not PBXLink" in that section refers to systems where the packet is not sent until the call is answered. With these PBXes it doesn't matter how long you let the phone ring. The serial packet would not be sent until the line was offhook. This is what the SerialAutoAnswer parameter was originally created for.

Once we had SerialAutoAnswer in our toolbox, we realized it could also be used to create a pseudo guard timer as I described above. In almost all cases (PBXLink included) this vastly improves the effectiveness of WaitIfBufferedPacketPresent. In fact, I have a hard time thinking of cases where you'd want WaitIfBufferedPacketPresent without SerialAutoAnswer.

I'll see what I can do to get that tech tip updated. There're probably other areas where it could use some touch up too. Like maybe add a section on the MinimumMWIRequestInterval parameter.

Oh, and if you find a good way to distrubite the calls evenly into Unity let us know. Vectors seems to lock us into linear hunting and we haven't been able to use the Definity's 'hunt groups'. When the call gets routed through a hunt group we loose the display information needed by the PBXLink.

Cheers,

Eric