[Home]

Summary:ASTERISK-26106: sorcery: PJSIP driver completely broken with oracle using ODBC
Reporter:HZMI8gkCvPpom0tM (y2fbo4IevYm5Ve9u)Labels:
Date Opened:2016-06-10 05:46:38Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Core/Sorcery Resources/res_config_odbc
Versions:13.9.1 Frequency of
Occurrence
Constant
Related
Issues:
is related toASTERISK-25281 PJSIP, ODBC and Oracle - case sensitive field name checks in sorcery break Oracle compatibility
Environment:any with configured ORACLE ODBC driverAttachments:
Description:Asterisk not see anything in any pjsip tables because of mistakes in interpretation of results in asterisk core.

example
tmpl*CLI> pjsip show aors
No objects found.

tmpl*CLI>

but if to use console odbc isql command data exist
SELECT * FROM PS_AORS WHERE id LIKE '%' ORDER BY id
+-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------+---------------------------------------------------------------------------------+-----------------------------------------+-----------------------------------------+----------------+-----------------------------------------+---------------------+-----------------------------------------+-----------------------------------------+-------------+-----------------------------------------+-----------------------------------------+
| ID                                      | CONTACT                                                                                                                                                                                                                                                        | DEFAULT_EXPIRATION                      | MAILBOXES                                                                       | MAX_CONTACTS                            | MINIMUM_EXPIRATION                      | REMOVE_EXISTING| QUALIFY_FREQUENCY                       | AUTHENTICATE_QUALIFY| MAXIMUM_EXPIRATION                      | OUTBOUND_PROXY                          | SUPPORT_PATH| QUALIFY_TIMEOUT                         | VOICEMAIL_EXTENSION                     |
+-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------+---------------------------------------------------------------------------------+-----------------------------------------+-----------------------------------------+----------------+-----------------------------------------+---------------------+-----------------------------------------+-----------------------------------------+-------------+-----------------------------------------+-----------------------------------------+
| 101                                     |                                                                                                                                                                                                                                                                |                                         |                                                                                 | 1                                       |                                         |                |                                         |                     |                                         |                                         |             |                                         |                                         |
| 102                                     |                                                                                                                                                                                                                                                                |                                         |                                                                                 | 1                                       |                                         |                |                                         |                     |                                         |                                         |             |                                         |                                         |
+-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------+---------------------------------------------------------------------------------+-----------------------------------------+-----------------------------------------+----------------+-----------------------------------------+---------------------+-----------------------------------------+-----------------------------------------+-------------+-----------------------------------------+-----------------------------------------+
SQLRowCount returns -1
2 rows fetched
Comments:By: Asterisk Team (asteriskteam) 2016-06-10 05:46:40.139-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Joshua C. Colp (jcolp) 2016-06-10 05:51:34.211-0500

You already created ASTERISK-25281 in the past, what's the difference here?

By: HZMI8gkCvPpom0tM (y2fbo4IevYm5Ve9u) 2016-06-10 06:35:26.268-0500

Little bit different
It is happening because of hardcoded defined variable UUID_FIELD in res_sorcery_realtime.c.
It defined in lower case as "id". But oracle always return data with high case columns names.
I not commit patch because of strange policy of asterisk team.
If somebody have same issue you can easily fix it in  res_sorcery_realtime.c with exchange
if (!strcmp(field->name, UUID_FIELD)) {
to
if (!strcasecmp(field->name, UUID_FIELD)) {



By: Joshua C. Colp (jcolp) 2016-06-10 06:40:02.698-0500

I don't understand what this issue is for then... just a general "it's all broken and doesn't work"? Instead of having many issues it would be good to have a single issue to cover it.

By: HZMI8gkCvPpom0tM (y2fbo4IevYm5Ve9u) 2016-06-10 06:44:44.525-0500

it is different because of different reasons.
Old issue i fixed already in my fork because nobody wanted to do it here.
It is possible that new issue also nobody want to fix. So i placed description how to fix for people who want to fork and continue to use oracle with asterisk. Because current Asterisk without special patches not usable with oracle at all. But you can connect this issue of course. In this case provided  solution will be little bit not full .