Asterisk
  1. Asterisk
  2. ASTERISK-8584

[patch] Remote (called) Party Identification - chan_sip & chan_skinny implementation

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Severity: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Channels/NewFeature
    • Labels:
      None
    • SVN Revision Number:
      59043
    • Mantis ID:
      8824
    • Regression:
      No

      Description

      Overview:

      This patch provides the ability to rewrite the called party information on
      channel types that support it. Implementations for the SIP (see note #1)
      and Skinny (see note #2) channels have been provided.

      Current features are:

      1. Make changes whilst the call is progessing though the dial plan, ie:

      exten => s,1,RemoteParty("Voicemail" <123>)
      exten => s,n,Answer()
      exten => s,n,VoiceMailMain()

      2. When using call pickup it will rewrite the caller information showing the caller that was picked up.

      3. When unparking a call it will show the caller*id of the parked call.

      The ability to rewrite the calling party identification on semi-attended
      transfer is planned but doesn't work yet.

      Implementation:

      Transmission of the remote party data is done using indications with a new
      subtype of AST_CONTROL_REMOTEPARTY, format of the data is:

      "name" <number>|presentation

      Any channel specific code is kept in it's _indicate() handler. Once the channel driver has received the indication it uses the method specific to it; in the case of SIP it sends a 180/183 response if possible and with Skinny it uses transmit_callinfo().

      Note #1: The SIP implemenation is only able to update the remote party
      before the call has been answered as there is no re-invite support yet.

      Note #2: I don't have any Skinny phones so no testing has been done on that part.

                • ADDITIONAL INFORMATION ******

      Bug ASTERISK-6467 contains a patch the provides some of the same functionality for
      SIP channels: http://bugs.digium.com/view.php?id=6643

      1. 1.4.18.patch
        82 kB
        Gareth Palmer
      2. 1.4.19.patch
        86 kB
        Gareth Palmer
      3. 1.4.19-experiments.patch
        93 kB
        Gareth Palmer
      4. 1.4.21.1.patch
        88 kB
        Gareth Palmer
      5. 1.4.21.2.patch
        93 kB
        Gareth Palmer
      6. 1.4.23.1.patch
        95 kB
        Gareth Palmer
      7. 1.6.0.1.patch
        89 kB
        Gareth Palmer
      8. 1.6.0-beta7.1.patch
        83 kB
        Gareth Palmer
      9. asterisk_core.log
        2 kB
      10. asterisk_crash.log
        139 kB
      11. asterisk-1.6.0-beta8-connectedline-v2.patch
        87 kB
        Timo Teräs
      12. cancelled-semiattended-transfer.log
        55 kB
      13. chan_dahdi-connectedline-r162548.diff
        3 kB
        Timo Teräs
      14. chan_zap-1.6.0-beta7.1.patch
        2 kB
        Timo Teräs
      15. chan_zap-1.6.0-beta7.1-v2.patch
        2 kB
        Timo Teräs
      16. connectedline_1.4_svn_2010021400.diff
        95 kB
        Michiel van Baak
      17. directcall.log
        19 kB
      18. issue8824-143795.patch
        11 kB
        Gareth Palmer
      19. svn-111909.patch
        81 kB
        Gareth Palmer
      20. svn-114099.patch
        86 kB
        Gareth Palmer
      21. svn-128340.patch
        85 kB
        Gareth Palmer

        Activity

        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 186525

        _U trunk/
        U trunk/CHANGES
        U trunk/apps/app_dial.c
        U trunk/apps/app_directed_pickup.c
        U trunk/apps/app_queue.c
        U trunk/channels/chan_agent.c
        U trunk/channels/chan_dahdi.c
        U trunk/channels/chan_h323.c
        U trunk/channels/chan_iax2.c
        U trunk/channels/chan_local.c
        U trunk/channels/chan_mgcp.c
        U trunk/channels/chan_misdn.c
        U trunk/channels/chan_phone.c
        U trunk/channels/chan_sip.c
        U trunk/channels/chan_skinny.c
        U trunk/channels/chan_unistim.c
        U trunk/channels/misdn/chan_misdn_config.h
        U trunk/channels/misdn/isdn_lib.c
        U trunk/channels/misdn/isdn_lib.h
        U trunk/channels/misdn/isdn_lib_intern.h
        U trunk/channels/misdn/isdn_msg_parser.c
        U trunk/channels/misdn_config.c
        U trunk/configs/misdn.conf.sample
        U trunk/configs/sip.conf.sample
        U trunk/include/asterisk/callerid.h
        U trunk/include/asterisk/channel.h
        U trunk/include/asterisk/frame.h
        _U trunk/include/asterisk/rtp_engine.h
        _U trunk/include/asterisk/stun.h
        U trunk/main/callerid.c
        U trunk/main/channel.c
        U trunk/main/dial.c
        U trunk/main/features.c
        _U trunk/main/rtp_engine.c
        UU trunk/main/stun.c
        UU trunk/res/res_rtp_asterisk.c

        ------------------------------------------------------------------------
        r186525 | mmichelson | 2009-04-03 17:41:48 -0500 (Fri, 03 Apr 2009) | 22 lines

        This commit introduces COLP/CONP and Redirecting party information into Asterisk.

        The channel drivers which have been most heavily tested with these enhancements are
        chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
        introduced in a later commit. chan_skinny has code added to it here, but according
        to user pj, the support on chan_skinny is not working as of now. This will be fixed in
        a later commit.

        A special thanks goes out to bugtracker user gareth for getting the ball rolling and
        providing the initial support for this work. Without his initial work on this, this would
        not have been nearly as painless as it was.

        This functionality has been tested by Digium's product quality department, as well as a
        customer site running thousands of calls every day. In addition, many many many many bugtracker
        users have tested this, too.

        (closes issue ASTERISK-8584)
        Reported by: gareth

        Review: http://reviewboard.digium.com/r/201

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=186525

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 186525 _U trunk/ U trunk/CHANGES U trunk/apps/app_dial.c U trunk/apps/app_directed_pickup.c U trunk/apps/app_queue.c U trunk/channels/chan_agent.c U trunk/channels/chan_dahdi.c U trunk/channels/chan_h323.c U trunk/channels/chan_iax2.c U trunk/channels/chan_local.c U trunk/channels/chan_mgcp.c U trunk/channels/chan_misdn.c U trunk/channels/chan_phone.c U trunk/channels/chan_sip.c U trunk/channels/chan_skinny.c U trunk/channels/chan_unistim.c U trunk/channels/misdn/chan_misdn_config.h U trunk/channels/misdn/isdn_lib.c U trunk/channels/misdn/isdn_lib.h U trunk/channels/misdn/isdn_lib_intern.h U trunk/channels/misdn/isdn_msg_parser.c U trunk/channels/misdn_config.c U trunk/configs/misdn.conf.sample U trunk/configs/sip.conf.sample U trunk/include/asterisk/callerid.h U trunk/include/asterisk/channel.h U trunk/include/asterisk/frame.h _U trunk/include/asterisk/rtp_engine.h _U trunk/include/asterisk/stun.h U trunk/main/callerid.c U trunk/main/channel.c U trunk/main/dial.c U trunk/main/features.c _U trunk/main/rtp_engine.c UU trunk/main/stun.c UU trunk/res/res_rtp_asterisk.c ------------------------------------------------------------------------ r186525 | mmichelson | 2009-04-03 17:41:48 -0500 (Fri, 03 Apr 2009) | 22 lines This commit introduces COLP/CONP and Redirecting party information into Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue ASTERISK-8584 ) Reported by: gareth Review: http://reviewboard.digium.com/r/201 ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=186525
        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 186526

        _U branches/1.6.0/

        ------------------------------------------------------------------------
        r186526 | mmichelson | 2009-04-03 17:43:20 -0500 (Fri, 03 Apr 2009) | 27 lines

        Blocked revisions 186525 via svnmerge

        ........
        r186525 | mmichelson | 2009-04-03 17:41:46 -0500 (Fri, 03 Apr 2009) | 22 lines

        This commit introduces COLP/CONP and Redirecting party information into Asterisk.

        The channel drivers which have been most heavily tested with these enhancements are
        chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
        introduced in a later commit. chan_skinny has code added to it here, but according
        to user pj, the support on chan_skinny is not working as of now. This will be fixed in
        a later commit.

        A special thanks goes out to bugtracker user gareth for getting the ball rolling and
        providing the initial support for this work. Without his initial work on this, this would
        not have been nearly as painless as it was.

        This functionality has been tested by Digium's product quality department, as well as a
        customer site running thousands of calls every day. In addition, many many many many bugtracker
        users have tested this, too.

        (closes issue ASTERISK-8584)
        Reported by: gareth

        Review: http://reviewboard.digium.com/r/201
        ........

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=186526

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 186526 _U branches/1.6.0/ ------------------------------------------------------------------------ r186526 | mmichelson | 2009-04-03 17:43:20 -0500 (Fri, 03 Apr 2009) | 27 lines Blocked revisions 186525 via svnmerge ........ r186525 | mmichelson | 2009-04-03 17:41:46 -0500 (Fri, 03 Apr 2009) | 22 lines This commit introduces COLP/CONP and Redirecting party information into Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue ASTERISK-8584 ) Reported by: gareth Review: http://reviewboard.digium.com/r/201 ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=186526
        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 186527

        _U branches/1.6.1/

        ------------------------------------------------------------------------
        r186527 | mmichelson | 2009-04-03 17:43:47 -0500 (Fri, 03 Apr 2009) | 27 lines

        Blocked revisions 186525 via svnmerge

        ........
        r186525 | mmichelson | 2009-04-03 17:41:46 -0500 (Fri, 03 Apr 2009) | 22 lines

        This commit introduces COLP/CONP and Redirecting party information into Asterisk.

        The channel drivers which have been most heavily tested with these enhancements are
        chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
        introduced in a later commit. chan_skinny has code added to it here, but according
        to user pj, the support on chan_skinny is not working as of now. This will be fixed in
        a later commit.

        A special thanks goes out to bugtracker user gareth for getting the ball rolling and
        providing the initial support for this work. Without his initial work on this, this would
        not have been nearly as painless as it was.

        This functionality has been tested by Digium's product quality department, as well as a
        customer site running thousands of calls every day. In addition, many many many many bugtracker
        users have tested this, too.

        (closes issue ASTERISK-8584)
        Reported by: gareth

        Review: http://reviewboard.digium.com/r/201
        ........

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=186527

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 186527 _U branches/1.6.1/ ------------------------------------------------------------------------ r186527 | mmichelson | 2009-04-03 17:43:47 -0500 (Fri, 03 Apr 2009) | 27 lines Blocked revisions 186525 via svnmerge ........ r186525 | mmichelson | 2009-04-03 17:41:46 -0500 (Fri, 03 Apr 2009) | 22 lines This commit introduces COLP/CONP and Redirecting party information into Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue ASTERISK-8584 ) Reported by: gareth Review: http://reviewboard.digium.com/r/201 ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=186527
        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 186528

        _U branches/1.6.2/

        ------------------------------------------------------------------------
        r186528 | mmichelson | 2009-04-03 17:44:09 -0500 (Fri, 03 Apr 2009) | 27 lines

        Blocked revisions 186525 via svnmerge

        ........
        r186525 | mmichelson | 2009-04-03 17:41:46 -0500 (Fri, 03 Apr 2009) | 22 lines

        This commit introduces COLP/CONP and Redirecting party information into Asterisk.

        The channel drivers which have been most heavily tested with these enhancements are
        chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
        introduced in a later commit. chan_skinny has code added to it here, but according
        to user pj, the support on chan_skinny is not working as of now. This will be fixed in
        a later commit.

        A special thanks goes out to bugtracker user gareth for getting the ball rolling and
        providing the initial support for this work. Without his initial work on this, this would
        not have been nearly as painless as it was.

        This functionality has been tested by Digium's product quality department, as well as a
        customer site running thousands of calls every day. In addition, many many many many bugtracker
        users have tested this, too.

        (closes issue ASTERISK-8584)
        Reported by: gareth

        Review: http://reviewboard.digium.com/r/201
        ........

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=186528

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 186528 _U branches/1.6.2/ ------------------------------------------------------------------------ r186528 | mmichelson | 2009-04-03 17:44:09 -0500 (Fri, 03 Apr 2009) | 27 lines Blocked revisions 186525 via svnmerge ........ r186525 | mmichelson | 2009-04-03 17:41:46 -0500 (Fri, 03 Apr 2009) | 22 lines This commit introduces COLP/CONP and Redirecting party information into Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue ASTERISK-8584 ) Reported by: gareth Review: http://reviewboard.digium.com/r/201 ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=186528
        Hide
        Michiel van Baak added a comment -

        Added patch against latest 1.4 svn trunk (requested by niekvlessert)
        I had to delete one of the flags because 1.4 is still using the 32 flags.
        Do not use this patch if you are using g726_nonstandard, I removed that one to make room for the connected_line flag.

        Tested and ok from niekvlessert. (tested on 1.4.29)

        Show
        Michiel van Baak added a comment - Added patch against latest 1.4 svn trunk (requested by niekvlessert) I had to delete one of the flags because 1.4 is still using the 32 flags. Do not use this patch if you are using g726_nonstandard, I removed that one to make room for the connected_line flag. Tested and ok from niekvlessert. (tested on 1.4.29)