Author Message
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Hello. Working off the very basic zephyr template which implements CallListenerAbstract, all of the videos show assigning the service to a user or group of users through the Manage Users interface. What is the proper way to do this through implicit users by assigning a dial string? Note that there is no associated physical phone for this, just a dial string that we want breeze to intercept and run this service.

Can this be done in this method?
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Hi Michael, there are 2 pieces to this:

1: Session Manager must be configured to route the call to Breeze. For call intercept applications this is done through application sequencing. This sounds like a "callable" application, so the best way to go would be to configure a Route in Session Manager for your dial string.

2: Breeze must be configured to invoke your snap-in based on the dialed number. "Implicit User" provisioning in Breeze is the place to do this. Make sure you're doing this under Breeze administration instead of Session Manager administration.

This is all described in our admin guide: https://www.devconnectprogram.com/site/global/products_resources/avaya_breeze/releases/3_4/docs/administering/index.html
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Ok so we are on the right path then. We have confirmed the call is making it to Breeze cluster via traceCE when we dial the number. However it's just not hitting the service we have configured for that dial string. All of the log files are empty for the service, which based on the default template there should be at least one entry for -- logger.fine("Entered callIntercepted.");

What else can we troubleshoot to find out why it is not hitting the service we are directing it to? The entire service is very simple.


@Override
public final void callIntercepted(final Call call)
{
logger.fine("Entered callIntercepted.");

for (Participant party : call.getActiveParties()) {
logger.info("Caller 1: " + party.getHandle());
}

}
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
To be clear, here's what you should have done admin-wise:
- Create a service profile
- Put your service into the service profile
- Depending on the release, it may be that your callable service must be the ONLY service in the profile. I think in 3.4 we allowed for multiple services in a callable service profile.
- Assign the service profile to an implicit user entry that has a number pattern that matches your dial string.

If you've done all of that, the next step would be to check the Replication tab (main menu System Manager) to ensure that your Breeze server is fully replicated.

If replication shows as green, you could then do a "ce dlogon" followed by "ce dlogw" from the command line and do your call again. The log files may give a clue as to why your snap-in was not invoked. If you don't immediately see the problem, you could ctrl-c out, then do "ce dlogw > /tmp/noSnapinInvoked.log" and attach the "noSnapinInvoked" log file here.
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Something else to check in traceCE: the top-most Route header on the SIP INVITE should have phase=terminating.

Another thing just occurred to me. You need to ensure that your properties.xml file has term_order, term_group entries as follows:

<smgr>
<description>Test Service</description>
<term_order>1</term_order>
<term_group>1</term_group>
<fs_component>true</fs_component>
</smgr>

That's probably the first thing to check!
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Ok, we have done the config steps you mentioned, and replication looks good. I do not see a properties.xml file, only a CARRule.xml which contains these contents:



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<ServiceRules name="${serviceName}" version="${serviceVersion}"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">

<!-- Following section is needed for call related applications. Refer HelloWorld Sample service for
more clarifications.

If your application is HTTP only, please remove the SequencedServiceRule tags. You can refer DynamicTeamFormation Sample service
in SDK for help on http only service-->

<SequencedServiceRule phase="imsterm" order='125'
desc="Interested in imsterm phase">
</SequencedServiceRule>

<SequencedServiceRule phase="imsorig" order='25'
desc="Interested in imsorig phase">
</SequencedServiceRule>

<TerminatingServiceRule desc="Want to receive incoming INVITEs with ${serviceName} feature URI">
<FeatureURI>${serviceName}</FeatureURI>
</TerminatingServiceRule>

</ServiceRules>

MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Sorry was looking in the wrong project, I do see the properties.xml and has the values you suggested. I will try the log options you mentioned. Since we have several breeze servers do I need to have that command open on each one?
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Yes, you would need it on each server in the cluster.
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Ok this is what I have on the first route header in the trace--

Route: <sip:IPHERE;transport=tcp;lr;phase=imsterm;seq=implicit>
JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Hmm, the "sip:IPHERE" looks weird. What does the Request URI (first line) look like for the INVITE? Does it also say "sip:IPHERE" or does have your phone number in it?

You have imsterm in the Route header because you used implicit sequencing configuration on SM instead of a Route to cause SM to send the call to Breeze. That will work, it's just not the recommended way of doing things if the app itself is the intended destination of the call (as opposed to an app sequenced on the behalf of someone else).
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Sorry I just redacted it since I didn't want IPs displayed! Invite is below, MYDIALSTRING is the number we have in the implicit user pattern and it matches. --

INVITE sip:MYDIALSTRING@domain SIP/2.0




JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
OK, next step is the dlogw dump of log files.

Does this system have a service contract? If so, another way to go might be to open a ticket with Avaya Client Services.
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
We do have a service contract, and no offense to the main support channels, but these forums (I post regularly on the OD forum) has always been way more responsive and informative. It is difficult to get answers unless we light up the world. I would like to send you the log file directly, may I PM it and have you give it a once over? We will ultimately go the support route if no easy solution presents itself here.

JoelEzell
Joined: Nov 15, 2013
Messages: 780
Offline
Not sure what you mean by PM. You can attach the log file here if you'd like and I can take a look as I get time.
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
I meant Private Message through the forums, but looks like you can't attach files. I don't want to post the file here due to our IPs being listed. Can I email you the file instead?
Go to:   
Mobile view