e doesn't
make much sense to me
there's no worry about the callback return value, OBJ_NODATA,
etc. Get the container and iterate over it. It also eliminates a lot of
overhead in the ao2_traversal code.
unless the callback is controlling the traversal with it's
return cod
---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4604/#review15154
---
Ship it!
Ship It!
- Corey Farrell
On April 9, 2015, 10:57
errit-Change-Id: I5553af9cbfdc1d68110036eaadcfe5db3570928f
Gerrit-PatchSet: 2
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell
Gerrit-Reviewer: Anonymous Coward #119
--
_
-- Bandwidth and Coloc
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/35
Change subject: res_phoneprov_pjsip: Disconnect HTTP before stopping Asterisk.
..
res_phoneprov_pjsip: Disconnect HTTP before stopping
> On April 8, 2015, 9:40 p.m., Corey Farrell wrote:
> > branches/13/main/loader.c, lines 1382-1386
> > <https://reviewboard.asterisk.org/r/4604/diff/1/?file=73808#file73808line1382>
> >
> > Please remove this, it's simpler to just do it in
> &g
---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4601/#review15139
---
Ship it!
Ship It!
- Corey Farrell
On April 8, 2015, 2:59
start allowing reloads
earlier than right before setting ast_fullybooted.
- Corey Farrell
On April 8, 2015, 4:14 p.m., George Joseph wrote:
>
> ---
> This is an automatically generated e-mail. To reply, visit:
> https
his code is being moved lets remove the RAII_VAR and just put
ao2_cleanup at the end of the loop. RAII_VAR adds overhead so we shouldn't use
it in loops like this one.
- Corey Farrell
On April 8, 2015, 2:09 p.m., Geo
3 to make
res_monitor require func_periodic_hook.
Diffs (updated)
-
/trunk/include/asterisk/optional_api.h 434423
Diff: https://reviewboard.asterisk.org/r/4590/diff/
Testing
---
Verified I could load res_monitor with or without func_periodic_hook. Ran a
couple testsuite t
> On April 7, 2015, 8:15 a.m., Corey Farrell wrote:
> > branches/13/res/res_pjsip_config_wizard.c, lines 1189-1191
> > <https://reviewboard.asterisk.org/r/4596/diff/1/?file=73638#file73638line1189>
> >
> > I'm concerned that this is needed due to the loa
> On April 7, 2015, 8:15 a.m., Corey Farrell wrote:
> > branches/13/res/res_pjsip_config_wizard.c, lines 1189-1191
> > <https://reviewboard.asterisk.org/r/4596/diff/1/?file=73638#file73638line1189>
> >
> > I'm concerned that this is needed due to the loa
This fix is also needed for 13.
On Wed, Apr 8, 2015 at 8:02 AM, SVN commits to the Asterisk project
wrote:
> Author: mjordan
> Date: Wed Apr 8 07:02:37 2015
> New Revision: 434294
>
> URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=434294
> Log:
> chan_iax2: Fix compilation issue due to
> On April 7, 2015, 8:15 a.m., Corey Farrell wrote:
> > branches/13/res/res_pjsip_config_wizard.c, lines 1189-1191
> > <https://reviewboard.asterisk.org/r/4596/diff/1/?file=73638#file73638line1189>
> >
> > I'm concerned that this is needed due to the loa
p modules to say if
this is ok.
- Corey Farrell
On April 6, 2015, 4:32 p.m., George Joseph wrote:
>
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://rev
ake menuselect' after and all apps
were still disabled.
- Corey
---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4580/#review15082
---
.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
-
/trunk/include/asterisk/optional_api.h 433966
Diff: https://reviewboard.asterisk.org/r/4590/diff/
Testing
---
Verified I could load res_monitor with or without func_periodic_hook. Ran a
couple testsuite tests.
Thanks,
hanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
y. If anyone disagrees let me know.
Diffs
-
/trunk/Makefile 433966
Diff: https://reviewboard.asterisk.org/r/4580/diff/
Testing
---
Repeatedly ran 'make menuselect' with and without files in th
Corey Farrell has posted comments on this change.
Change subject: non_stasis_bridge_to_stasis_bridge: Update regex for ami events
..
Patch Set 3: Code-Review+1
--
To view, visit https://gerrit.asterisk.org/25
To unsubscribe
erisk/astobj2.h 433964
Diff: https://reviewboard.asterisk.org/r/4108/diff/
Testing
---
Ran the included test with REF_DEBUG enabled under valgrind. No reference
leaks or improper memory access. Though this does not test for races, I don't
know of an automated way to do that.
Th
gt; with a real object.
> >
> > Or even better, make the ao2_ref code do this check when it is about to
> > destroy a weakproxy object. This check can also destroy anything in the
> > notify list for the case if the real object was not set but subscribers
> &g
/res_pjsip_phoneprov_provider.c 433966
Diff: https://reviewboard.asterisk.org/r/4578/diff/
Testing
---
Started and stopped Asterisk, REF_DEBUG now showing no leaks.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/27
Change subject: Enable support for directory containing custom tests.
..
Enable support for directory containing custom tests.
This change
urn an error, but this
error is not returned by ast_cli_command_full. It would be nice if this action
could use the return value from ast_cli_command_full to determine if it should
respond success or failure.
- Corey Farrell
On Marc
Corey Farrell has posted comments on this change.
Change subject: non_stasis_bridge_to_stasis_bridge: Update regex for ami events
..
Patch Set 2: Code-Review-1
(2 comments)
Couple nit-picks about a comment / commit message
On Tue, Mar 31, 2015 at 7:54 PM, Matthew Jordan wrote:
> On Tue, Mar 31, 2015 at 1:48 PM, Russell Bryant
> wrote:
> Yeah, I think I'd rather just bite the bullet and get the repo set up
> "right" with as few weird things lingering around as possible. The
> only potential issue is requiring lib
conflicting with DEBUG_CHAOS.
Diffs
-
/branches/13/build_tools/cflags.xml 433716
Diff: https://reviewboard.asterisk.org/r/4557/diff/
Testing
---
make menuselect, verified that enabling either option disabled the other.
Thanks,
Corey Farrell
Corey Farrell
Gerrit-Reviewer: Ashley Sanders
Gerrit-Reviewer: Corey Farrell
Gerrit-Reviewer: Matt Jordan
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRI
as released.
This REF_DEBUG output was verified using the provided test.
- Corey
---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4108/#review14995
---
hanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
Corey Farrell has posted comments on this change.
Change subject: Add SIP attended transfer for Asterisk 11.
..
Patch Set 1:
This is nearly identical to the test for 12+, couldn't they be combined with
attended_transf
main utils
Check object files with 'nm -g' to verify that main/*.o still used
ast_log_safe. Verified that cdr/*.o and utils/*.o did not use ast_log_safe.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation P
https://reviewboard.asterisk.org/r/4558/diff/
Testing
---
Build only, George if you can please verify this resolves your issue loading
your DPMA module.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://ww
/
Testing
---
make menuselect, verified that enabling either option disabled the other.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To
Corey Farrell has uploaded a new patch set (#3).
Change subject: Memory Debugging Improvements
..
Memory Debugging Improvements
* Enable XML output from valgrind.
* Display and save a summary of valgrind errors and leaks
Corey Farrell has posted comments on this change.
Change subject: Memory Debugging Improvements
..
Patch Set 2:
(2 comments)
https://gerrit.asterisk.org/#/c/15/2/contrib/valgrind/text-summary.xsl
File contrib/valgrind/text
Check object files with 'nm -g' to verify that main/*.o still used
ast_log_safe. Verified that cdr/*.o and utils/*.o did not use ast_log_safe.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by
id not use ast_log_safe.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailma
Corey Farrell has uploaded a new patch set (#2).
Change subject: Memory Debugging Improvements
..
Memory Debugging Improvements
* Enable XML output from valgrind.
* Display and save a summary of valgrind errors and leaks
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/15
Change subject: Memory Debugging Improvements
..
Memory Debugging Improvements
* Enable XML output from valgrind.
* Display and save a
IMIZE suppresses this
error, but it was caught by Bamboo Full Build.
Diffs
-
/branches/11/include/asterisk/utils.h 433548
Diff: https://reviewboard.asterisk.org/r/4538/diff/
Testing
---
Rebuilt utils directory with and without DONT_OPTIMIZE and MALLOC_DEBUG.
Thanks,
Corey Fa
https://reviewboard.asterisk.org/r/4538/diff/
Testing
---
Rebuilt utils directory with and without DONT_OPTIMIZE and MALLOC_DEBUG.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
ast
obj2.o' that ast_log_safe was being used.
Tested by further modifying Asterisk with added calls to ast_log_safe().
* In main() after fully booted.
* In ast_log_safe() after setting in_safe_log.
* From the logger thread.
Only the message after fully booted was shown in the logs, all o
due to the
ast_log_safe symbol not existing. I've duplicated the ast_log function found
in that file. The refcounter utility is only used for old style REF_DEBUG
files, and 11 is the only current version that still has it.
- Corey Farrell
On March 24, 2015, 6:05 p.m., Corey Farrell
all branches.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo
/clicompat.c 433495
/branches/13/main/core_local.c 433497
Diff: https://reviewboard.asterisk.org/r/4534/diff/
Testing
---
Build successful on all branches.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation
/branches/11/main/astmm.c 432991
/branches/11/main/astfd.c 432991
/branches/11/main/asterisk.c 432991
/branches/11/main/aoc.c 432991
/branches/11/include/asterisk.h 432991
Diff: https://reviewboard.asterisk.org/r/4500/diff/
Testing
---
Compiled, started and ran 'core stop
13/main/asterisk.c 433360
/branches/13/main/aoc.c 433360
/branches/13/include/asterisk.h 433360
Diff: https://reviewboard.asterisk.org/r/4501/diff/
Testing
---
Compiled, started and ran 'core stop
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/12
Change subject: Ignore JIRA uploads with license #2.
..
Ignore JIRA uploads with license #2.
License #2 is used for files that are not
, but Bamboo doesn't seem to have a problem with this test.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options vis
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/11
Change subject: Fixes related to testsuite GIT migration.
..
Fixes related to testsuite GIT migration.
* Add /logs to the root .gitignore
ttps://gerrit.asterisk.org/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If9f3a7adf2ca0d1d38d625fc5ba6922b99fb37f7
Gerrit-PatchSet: 6
Gerrit-Project: repotools
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell
Gerrit-Reviewer: Corey Farrell
Gerrit-R
Corey Farrell has posted comments on this change.
Change subject: Add .gitignore files
..
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.asterisk.org/8
To unsubscribe, visit https://gerrit.asterisk.org/settings
Corey Farrell has posted comments on this change.
Change subject: Add a .gitreview file for the testsuite
..
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.asterisk.org/7
To unsubscribe, visit https
Corey Farrell has posted comments on this change.
Change subject: Add .gitignore files
..
Patch Set 1: Code-Review+1
(3 comments)
Looks pretty good to me. Up to you if you want to address the comments I've
made or jus
Corey Farrell has uploaded a new patch set (#5).
Change subject: Update commit_msg.py output format.
..
Update commit_msg.py output format.
* Produce new syntax for linking to JIRA tickets.
* Retreive license number for patches
Corey Farrell has posted comments on this change.
Change subject: Update commit_msg.py output format.
..
Patch Set 5:
I actually had changed the wrong "Patch:\n" line. The first one is for the
interface when it
f3a7adf2ca0d1d38d625fc5ba6922b99fb37f7
Gerrit-PatchSet: 5
Gerrit-Project: repotools
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell
Gerrit-Reviewer: Corey Farrell
Gerrit-Reviewer: Michael L. Young
--
_
-- Bandwidth and Colo
Corey Farrell has posted comments on this change.
Change subject: Update commit_msg.py output format.
..
Patch Set 4:
Note this also makes a slight change to make the exception handling for license
retrieval easier to read
f3a7adf2ca0d1d38d625fc5ba6922b99fb37f7
Gerrit-PatchSet: 4
Gerrit-Project: repotools
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell
Gerrit-Reviewer: Michael L. Young
--
_
-- Bandwidth and Colocation Provided by http://www.api
f3a7adf2ca0d1d38d625fc5ba6922b99fb37f7
Gerrit-PatchSet: 3
Gerrit-Project: repotools
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell
Gerrit-Reviewer: Michael L. Young
--
_
-- Bandwidth and Colocation Provided by http://www.api
Corey Farrell has uploaded a new patch set (#2).
Change subject: Update commit_msg.py output format.
..
Update commit_msg.py output format.
* Produce new syntax for linking to JIRA tickets.
* Retreive license number for patches
Corey Farrell has uploaded a new change for review.
https://gerrit.asterisk.org/6
Change subject: Update commit_msg.py output format.
..
Update commit_msg.py output format.
* Produce new syntax for linking to JIRA tickets
sk.h 433360
Diff: https://reviewboard.asterisk.org/r/4501/diff/
Testing
---
Compiled, started and ran 'core stop now'.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.c
13/main/asterisk.c 433360
/branches/13/main/aoc.c 433360
/branches/13/include/asterisk.h 433360
Diff: https://reviewboard.asterisk.org/r/4501/diff/
Testing
---
Compiled, started and ran 'core stop now'.
Thanks,
Corey Farrell
--
___
.o' that ast_log_safe was being used.
Tested by further modifying Asterisk with added calls to ast_log_safe().
* In main() after fully booted.
* In ast_log_safe() after setting in_safe_log.
* From the logger thread.
Only the message after fully booted was shown in the logs,
t:
https://reviewboard.asterisk.org/r/4502/#review14813
-------
On March 24, 2015, 4:31 p.m., Corey Farrell wrote:
>
> ---
> This is an automatically generated e-
Corey Farrell has posted comments on this change.
Change subject: Add a .gitignore
..
Patch Set 1: Code-Review-1
Missing all the ignores from subdirs:
addons/starpy
asttest/asttest
asttest/tools/mkstring
asttest/lib/lua
ystem, but Bamboo doesn't seem to have a problem with this test.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or
the client_state is incremented. The timer_cb removes this ref.
Removed. If this is an actual issue it can be dealt with separately.
On March 24, 2015, 4:11 p.m., Corey Farrell wrote:
> > While testing res_pjsip_outbound_registration I wanted to see if a frack
> > would occur whil
gt; ast_log_full()?
> >
> > Relying on users to know which log function should be used seems
> > unreasonable for something as low level as logging. This seems more like
> > an implementation detail that doesn't need to be exposed.
> >
>
> Core
urther modifying Asterisk with added calls to ast_log_safe().
* In main() after fully booted.
* In ast_log_safe() after setting in_safe_log.
* From the logger thread.
Only the message after fully booted was shown in the logs, all o
wboard.asterisk.org/r/4502/#review14808
---
On March 15, 2015, 10:17 p.m., Corey Farrell wrote:
>
> ---
> This is an automatically generated e-mail. To reply,
\r". I believe the regex
we need is:
(\n|\r\n|\r)
This would ensure we don't get an any extra "\r" in output, and all text is
put into headers.
This idea is based on the belief that it's not valid for a header to have
"\r" within its value, thoug
s is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4502/#review14802
---
On March 15, 2015, 10:17 p.m., Corey Farrell wrote:
>
>
> On March 21, 2015, 12:54 a.m., Corey Farrell wrote:
> > Is a sipp scenario needed to verify Asterisk sends the correct SIP packets
> > for rpid_immediate on and off?
>
> rmudgett wrote:
> A sipp scenario is not needed. The test is to check *when* connected
Corey Farrell has posted comments on this change.
Change subject: .gitignore: Add a .gitignore file that mirrors the previous
svn:ignore
..
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.asterisk.org/2
To
Corey Farrell has posted comments on this change.
Change subject: .gitignore: Add a .gitignore file that mirrors the previous
svn:ignore
..
Patch Set 1: Code-Review-1
Looks like this is missing ignores from subdirectories
SIP packets for
rpid_immediate on and off?
- Corey Farrell
On March 20, 2015, 4:48 p.m., rmudgett wrote:
>
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asteris
sure if it even matters for res_pjsip to provide stable ABI.
- Corey Farrell
On March 20, 2015, 4:50 p.m., rmudgett wrote:
>
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://rev
make no difference on my
system, but Bamboo doesn't seem to have a problem with this test.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUB
C to FD's 3..32768 in
the final stage of restart.
- Corey
---
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4501/#review14759
---
variable, let
the current logic live on. I could be convinced otherwise if you can show that
the current logic produces the wrong results, but even then we'd have to very
careful.
- Corey Farrell
On March 19, 2015, 11:02 p.m., gareth wrote:
>
> ---
days after 2
ship it's, it will not be rushed. Also this review won't be committed until
r4501 (the version 13 patch) has approval.
- Corey Farrell
On March 15, 2015, 6:33 a.m., Corey Farrell wrote:
>
> ---
> This
/r/4497/diff/
Testing
---
Verified that nothing was logged to console with missing logger.conf, and that
this patch caused console logging to be enabled in that case. Also verified
that valid logger.conf was not effected.
Thanks,
Corey Farrell
/reviewboard.asterisk.org/r/4189/diff/
Testing
---
Ran a few testsuite chan_sip tests. Verified that REF_DEBUG log shows caller
of sip_alloc.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by h
/r/4491/diff/
Testing
---
No more leaks for tests/channels/local/local_optimize_away on 13.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To
rg/r/4189/diff/
Testing
---
Ran a few testsuite chan_sip tests. Verified that REF_DEBUG log shows caller
of sip_alloc.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
rified that REF_DEBUG log shows caller
of sip_alloc.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http:/
.h 432806
> /branches/13/channels/sip/include/dialog.h 432806
> /branches/13/channels/chan_sip.c 432806
>
> Diff: https://reviewboard.asterisk.org/r/4189/diff/
>
>
> Testing
> ---
>
> Ran a few testsuite chan_sip tests. Verified that REF_DEBUG log sho
If you didn't it's best to always compile your patches in dev-mode
as it picks up more issues and turns compiler warnings into errors.
- Corey Farrell
On March 15, 2015, 4:02 a.m., yaron nahum wrote:
>
> ---
> This i
still have reference leaks, but most
tests do not.
Can someone retest tests/channels/pjsip/ami/show_registrations_outbound to
confirm that I haven't made it worse? Seems to make no difference on my
system, but Bamboo doesn't seem to have a problem with this
chan_sip tests. Verified that REF_DEBUG log shows caller
of sip_alloc.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or upda
e correct
> delimiter for command output is "--END COMMAND--\r\n\r\n", not "\r\n\r\n".
>
> Corey Farrell wrote:
> If we do consider modifying the AMI protocol to support text blobs like
> this, I'd prefer we think about how that should be implemente
lly booted.
* In ast_log_safe() after setting in_safe_log.
* From the logger thread.
Only the message after fully booted was shown in the logs, all others were
ignored.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided b
up all local channels?
- Corey Farrell
On March 15, 2015, 6:33 a.m., Corey Farrell wrote:
>
> ---
> This is an automatically generated e-mail. To reply, visit:
> https:
rg/r/4501/diff/
Testing
---
Compiled, started and ran 'core stop now'.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRI
hes/11/include/asterisk.h 432991
Diff: https://reviewboard.asterisk.org/r/4500/diff/
Testing
---
Compiled, started and ran 'core stop now'.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Pro
logging to be enabled in that case. Also verified
that valid logger.conf was not effected.
Thanks,
Corey Farrell
--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE
101 - 200 of 733 matches
Mail list logo