[asterisk-bugs] [JIRA] (ASTERISK-22582) [patch] chan_sip refactor - sip_route

Corey Farrell (JIRA) noreply at issues.asterisk.org
Wed Sep 25 16:36:03 CDT 2013


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

Corey Farrell updated ASTERISK-22582:
-------------------------------------

    Attachment: testsuite-sip-record-route.patch
                chan_sip-route.patch
    
> [patch] chan_sip refactor - sip_route
> -------------------------------------
>
>                 Key: ASTERISK-22582
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22582
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Channels/chan_sip/General, Tests/testsuite
>    Affects Versions: SVN
>            Reporter: Corey Farrell
>            Severity: Minor
>         Attachments: chan_sip-route.patch, testsuite-sip-record-route.patch
>
>
> This patch isolates code that manages struct sip_route.
> * Move route code to sip/route.c + sip/include/route.h
> * Rename functions to sip_route_*
> * Replace ad-hoc list code with macro's from linkedlists.h
> * Create sip_route_process_header() to processes Path and Record-Route headers (previously done with different code in build_route and build_path)
> * Make sip_route uri accessor return a const
> * Move struct uriparams, struct contact and contactliststruct from sip.h to reqresp_parser.h.  sip/route.c uses reqresp_parser.h but not sip.h, this was a problem.  These moved declares are not used outside of reqresp_parser.
> * While modifying reqprep() the lack of {} caused me trouble.  I added them.
> * Code outside route.c treats sip_route as an opaque structure, using macro's or procedures for all access.
> In the testsuite I ran tests/channels/SIP/path to verify that was still passing.  I found that no testsuite existed for Record-Route handling, so I created one.  I verified the patch does not change the request URI, Route or Record-Route headers sent by asterisk.  The test includes inbound and outbound INVITE, with both strict and loose routes.  This is the first testsuite code I've written so I'm sorry if it's not that good.  It produces useless messages on test failure, I'm open to suggestions.
> This patch is intended to be the first in a series, I'd like to get feedback before I continue similar work.

--
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