Q. We have built a service application on the cisco phone however when that application is up on the phone, the phones dial pad is inoperable. This means that if the user is using our service application on the phone and needs to send dtmf tones, they are unable to. How can we get around this limitation?
A. Can you clarify if you are using JTAPI API in your application? What is the type of phone? Is this working with other phone types?
Yes we are using jtapi in our application. The phone model is the 8851. The behavior seems to be the same regardless of phone model.
Unless application is doing other features when user is pressing the key pad we should not see any issues. Can you attach JTAPI log?
Dustin Armstrong schrieb:
While the <CiscoIPPhoneText> xml object is displayed on the Cisco phone, the keys on the phone’s dial pad do not produce DTMF tones. We are unaware of a way to change this DTMF behavior via any published Cisco API. The need is to have the phone’s dial pad keys produce DTMF tones while captions are being displayed. [...].
are the sequences the user has to send dynamic or are there limited options?
if the options are limited You can provide dnyamically SoftkeyButtons that generate the DTMF via JTAPI on the server. This is what I´m doing with my video intercom app.
assuming Your´re using java:
on the MediaTerminalConnection (casted from TerminalConnection in Connection in active Call) you can call generateDtmf(String sequence).
This should work (if You don´t want to send # via 8851 see above).
Q. generateDtmf() is not working for 8851 when sending a #. Other Characters are working fine.
sending a # to i.e. one of the 69xx models is working fine.
Jtapi raises an PlatformException with "unspecified Error"
A. Can you check if there is any change in the call state when the request failed? If this is phone specific you may need to raise a case with DevSupport. JTAPI log would be useful though in this case it seems the exception in from CUCM.
It seems like a phone issue rather than API issue. You may want to post the issue in Cisco IP phone discussion forum.
JTAPI-Logs for an successfull call of generateDtmf (non 88xx model):
- 91630: Apr 15 09:14:59.171 MESZ %JTAPI-JTAPI-7-UNK:(P1-videointercom) [SEP7CAD744209BA] CiscoRTPInputStartedEv [#16983] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:12
- 91631: Apr 15 09:14:59.171 MESZ %JTAPI-JTAPI-7-UNK:(P1-videointercom) [SEP7CAD7442E66D] CiscoRTPOutputStartedEv [#16984] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:12
- 91632: Apr 15 09:14:59.311 MESZ %JTAPI-JTAPI-7-UNK:(P1-videointercom)[Local HTTP 8281][[SEPF4CFE2AABD02/[85659:Phones_UKK:1/(P1-videointercom) GCID=(2,4376813)->ACTIVE]->ESTABLISHED]->TALKING]Request: generateDtmf(000#)
- 91633: Apr 15 09:14:59.343 MESZ %JTAPI-JTAPI-7-UNK:(P1-videointercom) [SEP7CAD7442E66D] CiscoRTPInputStartedEv [#16985] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:12
- 91634: Apr 15 09:14:59.343 MESZ %JTAPI-JTAPI-7-UNK:(P1-videointercom) [SEP7CAD744209BA] CiscoRTPOutputStartedEv [#16986] Cause:100 CallCtlCause:0 CiscoCause:0 FeatReason:12
and and an unsuccesfull call (8851):
- 78687: Apr 15 09:13:43.796 MESZ %JTAPI-JTAPI-7-UNK:(P1-videointercom)[Local HTTP 8281][[SEP1CDEA7DA9A35/[84999:Phones_UKK:1/(P1-videointercom) GCID=(2,4376708)->ACTIVE]->ESTABLISHED]->TALKING]Request: generateDtmf(000%23)
- 78688: Apr 15 09:13:43.796 MESZ %JTAPI-JTAPI-7-UNK:[[SEP1CDEA7DA9A35/[84999:Phones_UKK:1/(P1-videointercom) GCID=(2,4376708)->ACTIVE]->ESTABLISHED]->TALKING]PlatformExceptionImpl caught: Unspecified error
Q. the interesting part ist, that # is translated to %23 for 88xx models.
could it be a JTAPI-issue or is JTAPI working as exspected and it´s a configuration issue on phone or cucm side?
A. Comparing the trace of working and non working generateDTMF() API calls, it seems that application is not passing the string correctly. In working scenario the string is 000# and in the non-working scenario it is 000%23. JTAPI log show what application is passing to JTAPI in the API. I would start debugging application to find out if there are any issues with the string encoding and to find out why 000%23 is passed from app to JTAPI.
Do you see a CCNException with "Invalid digit:" in JTAPI logs?
You were right. the application was passing the wrong string to generateDtmf(). The cause for this was, that the the 88xx phone model seems to encode the URLs to the IPPS. Other phone models don´t do this.
The application now decodes the url if necessary.
Please sign in to leave a comment.