[svn-commits] rmudgett: branch 1.4 r1810 - /branches/1.4/pri_facility.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Jun 4 17:46:04 CDT 2010
Author: rmudgett
Date: Fri Jun 4 17:45:59 2010
New Revision: 1810
URL: http://svnview.digium.com/svn/libpri?view=rev&rev=1810
Log:
Q.SIG calling name in FACILITY message not reported to the upper layer.
Q.SIG can send the CallingName, CalledName, and ConnectedName in stand
alone FACILITY messages. If the CallingName was not sent in the SETUP
message, the caller id name was not reported to the upper layer.
(closes issue #17458)
Reported by: jsmith
Patches:
issue17458_post_qsig_name.patch uploaded by rmudgett (license 664)
issue17458_post_qsig_name_v1.4.11.1.patch uploaded by rmudgett (license 664)
Tested by: rmudgett, jsmith
Modified:
branches/1.4/pri_facility.c
Modified: branches/1.4/pri_facility.c
URL: http://svnview.digium.com/svn/libpri/branches/1.4/pri_facility.c?view=diff&rev=1810&r1=1809&r2=1810
==============================================================================
--- branches/1.4/pri_facility.c (original)
+++ branches/1.4/pri_facility.c Fri Jun 4 17:45:59 2010
@@ -4713,24 +4713,64 @@
/* CallingName is put in remote_id.name */
rose_copy_name_to_q931(ctrl, &call->remote_id.name,
&invoke->args.qsig.CallingName.name);
+
+ switch (msgtype) {
+ case Q931_SETUP:
+ case Q931_CONNECT:
+ /* The caller name will automatically be reported. */
+ break;
+ default:
+ /* Setup connected line subcommand */
+ subcmd = q931_alloc_subcommand(ctrl);
+ if (!subcmd) {
+ break;
+ }
+ subcmd->cmd = PRI_SUBCMD_CONNECTED_LINE;
+ q931_party_id_copy_to_pri(&subcmd->u.connected_line.id, &call->remote_id);
+ break;
+ }
break;
case ROSE_QSIG_CalledName:
/* CalledName is put in remote_id.name */
rose_copy_name_to_q931(ctrl, &call->remote_id.name,
&invoke->args.qsig.CalledName.name);
- /* Setup connected line subcommand */
- subcmd = q931_alloc_subcommand(ctrl);
- if (!subcmd) {
- break;
- }
- subcmd->cmd = PRI_SUBCMD_CONNECTED_LINE;
- q931_party_id_copy_to_pri(&subcmd->u.connected_line.id, &call->remote_id);
+ switch (msgtype) {
+ case Q931_SETUP:
+ case Q931_CONNECT:
+ /* The called name will automatically be reported. */
+ break;
+ default:
+ /* Setup connected line subcommand */
+ subcmd = q931_alloc_subcommand(ctrl);
+ if (!subcmd) {
+ break;
+ }
+ subcmd->cmd = PRI_SUBCMD_CONNECTED_LINE;
+ q931_party_id_copy_to_pri(&subcmd->u.connected_line.id, &call->remote_id);
+ break;
+ }
break;
case ROSE_QSIG_ConnectedName:
/* ConnectedName is put in remote_id.name */
rose_copy_name_to_q931(ctrl, &call->remote_id.name,
&invoke->args.qsig.ConnectedName.name);
+
+ switch (msgtype) {
+ case Q931_SETUP:
+ case Q931_CONNECT:
+ /* The connected line name will automatically be reported. */
+ break;
+ default:
+ /* Setup connected line subcommand */
+ subcmd = q931_alloc_subcommand(ctrl);
+ if (!subcmd) {
+ break;
+ }
+ subcmd->cmd = PRI_SUBCMD_CONNECTED_LINE;
+ q931_party_id_copy_to_pri(&subcmd->u.connected_line.id, &call->remote_id);
+ break;
+ }
break;
#if 0 /* Not handled yet */
case ROSE_QSIG_BusyName:
More information about the svn-commits
mailing list