[asterisk-bugs] [JIRA] (ASTERISK-25281) PJSIP realtime over ODBC broken
HZMI8gkCvPpom0tM (JIRA)
noreply at issues.asterisk.org
Mon Aug 3 04:41:32 CDT 2015
[ https://issues.asterisk.org/jira/browse/ASTERISK-25281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=227119#comment-227119 ]
HZMI8gkCvPpom0tM edited comment on ASTERISK-25281 at 8/3/15 4:41 AM:
---------------------------------------------------------------------
I recreated the issue on mysql as well. Look like that somewhere in sources exist mistake which comparing table names with strcmp functions instead of strcasecmp. As a theory in Oracle issue appears because all tables and columns names in upper case register.
I recreated issue with simple renaming of column in mysql from 'auth' to 'AUTH' and it immediately stopped to work.
I think good candidate for such condition is
line
if (!strcmp(field->name, UUID_FIELD)) {
in sorcery_realtime_filter_objectset ( res_sorcery_realtime.c )
was (Author: y2fbo4ievym5ve9u):
I recreated the issue on mysql as well. Look like that somewhere in sources exist mistake which comparing table names with strcmp functions instead of strcasecmp. As a theory in Oracle issue appears because all tables and columns names in upper case register.
I think good candidate for such condition is
line
if (!strcmp(field->name, UUID_FIELD)) {
in sorcery_realtime_filter_objectset ( res_sorcery_realtime.c )
> PJSIP realtime over ODBC broken
> -------------------------------
>
> Key: ASTERISK-25281
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-25281
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_pjsip
> Affects Versions: 13.4.0
> Environment: any debian x64 with odbc configured.
> all configrations was done in accordance with document
> https://wiki.asterisk.org/wiki/display/AST/Setting+up+PJSIP+Realtime
> Reporter: HZMI8gkCvPpom0tM
> Assignee: Unassigned
>
> Look like that pjsip funtionality completely broken in case of obdc driver used.
> After configuration like discribed in https://wiki.asterisk.org/wiki/display/AST/Setting+up+PJSIP+Realtime
> after loading asterisk
> {code}
> vpbxdev*CLI> odbc show
> ODBC DSN Settings
> -----------------
> Name: VPBXORACLE
> DSN: sqlrelay
> Last connection attempt: 1970-01-01 01:00:00
> Pooled: No
> Connected: Yes
> {code}
> {code}
> *vpbxdev*CLI> pjsip show endpoints
> No objects found.*
> {code}
> {noformat}
> [2015-07-28 10:52:51.740] DEBUG[11310]: res_config_odbc.c:113 custom_prepare: Skip: 0; SQL: SELECT * FROM ps_endpoints WHERE id LIKE ? ORDER BY id
> [2015-07-28 10:52:51.740] DEBUG[11310]: res_config_odbc.c:129 custom_prepare: Parameter 1 ('id LIKE') = '%'
> [2015-07-28 10:52:51.754] DEBUG[11310]: res_odbc.c:1057 odbc_release_obj2: odbc_release_obj2(0x1cda0c8) called (obj->txf = (nil))
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'ID' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'TRANSPORT' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'AORS' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'AUTH' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'CONTEXT' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'DISALLOW' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'ALLOW' from retrieval
> [2015-07-28 10:52:51.755] DEBUG[11310]: res_sorcery_realtime.c:119 sorcery_realtime_filter_objectset: Filtering out realtime field 'DIRECT_MEDIA' from retrieval
> {noformat}
> If i do manually same query using isql (odbc) i get data . So all created ok inside tables.
> SQL> SELECT * FROM ps_endpoints WHERE id LIKE '%' ORDER BY id
> .....
> 9990..... transport-udp| 999.....| 999000.....| customers| all | alaw | no |
> ....
> SQLRowCount returns 0
> 1 rows fetched
> contents of file sorcery.conf
> {code}
> [res_pjsip]
> endpoint=realtime,ps_endpoints
> auth=realtime,ps_auths
> aor=realtime,ps_aors
> domain_alias=realtime,ps_domain_aliases
> contact=realtime,ps_contacts
> [res_pjsip_endpoint_identifier_ip]
> identify=realtime,ps_endpoint_id_ips
> {code}
> contents of extconfig.conf
> {code}
> [settings]
> ps_endpoints => odbc,VPBXORACLE
> ps_auths => odbc,VPBXORACLE
> ps_aors => odbc,VPBXORACLE
> ps_domain_aliases => odbc,VPBXORACLE
> ps_endpoint_id_ips => odbc,VPBXORACLE
> ps_contacts => odbc,VPBXORACLE
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list