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

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


     [ https://issues.asterisk.org/jira/browse/ASTERISK-21453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Jordan updated ASTERISK-21453:
-----------------------------------

    Status: Open  (was: Triage)
    
> New SIP Channel Driver - Implement CCSS
> ---------------------------------------
>
>                 Key: ASTERISK-21453
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21453
>             Project: Asterisk
>          Issue Type: New Feature
>      Security Level: None
>          Components: Channels/chan_gulp
>            Reporter: Matt Jordan
>              Labels: Asterisk12, NewSIP
>
> 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