[asterisk-bugs] [JIRA] (ASTERISK-21455) New SIP Channel Driver - Implement CCSS

Matt Jordan (JIRA) noreply at issues.asterisk.org
Tue Apr 16 11:52:03 CDT 2013


Matt Jordan created ASTERISK-21455:
--------------------------------------

             Summary: New SIP Channel Driver - Implement CCSS
                 Key: ASTERISK-21455
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21455
             Project: Asterisk
          Issue Type: New Feature
      Security Level: None
          Components: Channels/chan_gulp
            Reporter: Matt Jordan


Inclusion of Call Completion Supplementary Services requires the Publication APIs drafted on the Asterisk wiki. See [Event Subscription and Publication Design page|https://wiki.asterisk.org/wiki/display/AST/Event+Subscription+and+Publication+Design] and ASTERISK-21452 for more information.

This task is to add CCSS support for {{chan_gulp}}. This should include all of the CCSS types supported by Asterisk - Call Completion Busy Subscriber (CCBS), Call Completion No Response (CCNR), and Call Completion Not Logged In (CCNL).

*NOTE*
CCSS was implemented relatively recently in {{chan_sip}} (Asterisk 1.8) and much of it can be ported over to {{chan_gulp}}. The primary points of change will be the interaction with the SIP stack - however, the interaction with the CCSS core should be able to be used relatively unchanged.

At a minimum, this entails:

* Create a new resource module that registers itself as an Event Publication Agent for events "call-completion", media-type "application/call-completion".
* Add the ability to send SIP NOTIFY requests with the appropriate event package for CCSS
* Register the module as a call completion agent via {{ast_cc_agent_register}}.
** During an {{init}} callback, register the channel as a channel that is attempting call completion.
** During a {{start_offer_timer}} callback, schedule a callback that will automatically fail the call completion if fired.
** During a {{stop_offer_timer}} callback, cancel the scheduled callback created in {{start_offer_timer}}
** During a {{respond}} callback, respond with either a 200 OK to the pending request or an appropriate error code. This should also send a SIP NOTIFY request containing the CCSS event package.
** During a {{status_request}} callback, convert the agent's status to a device state and return the appropriate value.
** During a {{start_monitoring}} callback, punt.
** During a {{callee_available}} callback, 
* Register the module to monitor call completion via {{sip_cc_monitor_callbacks}}.
** In a {{request_cc}} callback, create a new SUBSCRIBE request for the specified URI. This *must* schedule a callback for {{ast_cc_available_timer_expire}}.
** In a {{suspend}} callback, PUBLISH a CC event as 'closed'
** In an {{unsuspend}} callback, PUBLISH a CC event as 'open'
** In a {{cancel_available_timer}} callback, cancel the monitoring. This should cancel the subscription for {{ast_cc_available_timer_expire}}.
* Add checks for CCNR when we get a 18x response to a SIP INVITE
* Add checks for CCBS when we get a 486, 600, or 603 response to a SIP INVITE


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list