Richard Fuchs
664f664e43
MT#55283 obsolete OP_SUBSCRIBER_*
These are redundant and not used.
Change-Id: I2c994c4b1f222a4065760f4e2f154131f7ce8b34
1 year ago
Donat Zenichev
65c96da6ae
MT#60476 Deprecate chopper related functionality
Deprecate the chopper and related functionality:
- copy_up_to_end_of()
- copy_up_to()
- copy_up_to_ptr()
- copy_remainder()
- skip_over()
- chopper_append_str()
- chopper_append_c()
- chopper_append()
- chopper_replace
- chopper_append_printf()
- sdp_chopper_new()
- sdp_chopper_destroy()
- sdp_chopper_destroy_ret()
Deprecate the chopper structure itself:
- `struct sdp_chopper`
Deprecate other usages of this struct:
- `ng_buffer->chopper`
Change-Id: I3bff8aaf24c6513ccd9fb3806474d8edac6eb866
1 year ago
Richard Fuchs
98d6575c63
MT#55283 add (un)escape parser methods
Change-Id: I7d9be892c4b5a3e28b77bc4a42e4c0cee722a132
1 year ago
Richard Fuchs
7dd2235df1
MT#55283 rework parser framework
Change-Id: Ia837916ec2123afe03e63c62bfb7058173f05fad
1 year ago
Richard Fuchs
81a7d177ef
MT#55283 use abstract JSON writer for Redis
Change-Id: Ib667184773d75c5187d6029ca2e9282e7931c5a4
1 year ago
Richard Fuchs
ef787fb119
MT#55283 use abstract parser for Redis restore
Change-Id: Ic4b61bee33b71a759b5a352393e2bc2738d87b86
1 year ago
Richard Fuchs
a56577adb4
MT#55283 rework dict_iter
Change-Id: I2d13eeea4df474639779e7be1a7b6aecd58db941
1 year ago
Richard Fuchs
5aa8e56798
MT#55283 rework parser context passing
Change-Id: I1ccab431314ff6b3fcb3dea74f26dbd88b9b9307
1 year ago
Richard Fuchs
2be41a41e8
MT#55283 remove vestiges of bencode-specifics
Change-Id: Ib068b0c8b0ac2fd5c2d85eec75595490ef4cc1d9
1 year ago
Richard Fuchs
96d6e438cf
MT#55283 add strdup method
Change-Id: Icf26f301895c94d789902d422cb7907ef3b6025f
1 year ago
Richard Fuchs
4d0c97b40e
MT#55283 native JSON writer
Change-Id: Ic13c126456cd5ebacac9541424b6d6d42825eeae
1 year ago
Richard Fuchs
0cc7f3ba44
MT#55283 extend parser_arg to return types
Requires boilerplate wrapper functions :(
Change-Id: Ice6b0bb055082fb2c8893ec9a57488f56c0218c3
1 year ago
Richard Fuchs
93653fe562
MT#55283 add .dict_add_dict_dup method
Change-Id: I9942965d7579a3d3a00147ef185c183ad0ea93c4
1 year ago
Richard Fuchs
8aba2b3e6f
MT#55283 add *list_add_str_dup method
Change-Id: Ic6dac373f9fb16a83e20d12ff7f05d272633e859
1 year ago
Richard Fuchs
671c163a60
MT#55283 add dict_contains() method
Change-Id: I908075e8e3ef9578abc426987e34c9d776203184
1 year ago
Richard Fuchs
baf3cc97f2
MT#55283 extend use of parser_arg
Change-Id: I4e5b1fbb4d921fd75c50d5ffd8ec81afe200962c
1 year ago
Richard Fuchs
b0d22ba770
MT#55283 use list_iter() where appropriate
Change-Id: I26fee0ece7c6dc8411140559d4c8801b9eb304fe
1 year ago
Richard Fuchs
416f658088
MT#55283 introduce parser_arg union
Generic "item" object to represent some entity within a signalling
message
Change-Id: Ie1a7f2acaf954b86597ac32af3f0546d68f9e687
1 year ago
Richard Fuchs
6c8a5ec99a
MT#55283 add extra methods
Change-Id: If6aa0894c92b276b005d19a67f72bf59539354aa
1 year ago
Richard Fuchs
b7d5e00d65
MT#55283 add pretty_print method
Change-Id: Ibcc16385f9a988b949ead2f544732474b87e3a2c
1 year ago
Richard Fuchs
c437c0a706
MT#55283 add is_dict method
Change-Id: I53068670f20bfae642577c078f7f73b97cf7eea7
1 year ago
Richard Fuchs
c18904d8db
MT#55283 reduce usage of bencode_buffer_destroy_add
Change-Id: I913f7df30d2dba46d6e44db74f55c43a2cd98444
1 year ago
Richard Fuchs
bdd66fe730
MT#55283 move JsonParser into ngbuf
Use ngbuf's free function to destroy the JSON parser instead of the
callback for the bencode_buffer object.
Change-Id: I7eccf7284f55b34ef1a4800017ea1a4519f42bbc
1 year ago
Richard Fuchs
b1a0aebab5
MT#55283 add abstract .dict_add_str_dup
Change-Id: I8b5e34379e49819f5050e3460e4398706fe20749
1 year ago
Richard Fuchs
8f6b8b206b
MT#55283 add abstract dict_add/list/list_add
Change-Id: Id0cfcfa1504135473b7e4d355bfe5e28d089a6d1
1 year ago
Richard Fuchs
2f82805f1d
MT#55283 add abstract .dict_add_int()
Change-Id: If3f84b11d6c0399b6d9c916f3956877af9ec22d0
1 year ago
Richard Fuchs
271c646d8d
MT#55283 add abstract .list_add_string()
Change-Id: I487a5c535fc5ccd0b409a6abbcf6ba05b1e63f49
1 year ago
Richard Fuchs
a1e01c6025
MT#55283 add abstract .list_add_dict()
Change-Id: I4dfc8c5a52ad9a8df3683788297d73cff0504fd4
1 year ago
Richard Fuchs
5ccdb6c804
MT#55283 add abstract .dict_add_list()
Change-Id: I6e4530701c760101fd4a07c220d7bf85119cf876
1 year ago
Richard Fuchs
af3459b85e
MT#55283 add abstract .dict_add_dict()
Change-Id: Ie942d6a43e070edc08cb4124d19f8ce54a164351
1 year ago
Richard Fuchs
24fbb4d8c0
MT#55283 add abstract .dict_add_str()
Change-Id: I996f92c81366741aa0207a74c825a3033db59d22
1 year ago
Richard Fuchs
dc19d892cd
MT#55283 add abstract .dict_add_string()
Change-Id: I33eb89241eaa8b29e2ea128bb5c9d34bc25be0e9
1 year ago
Richard Fuchs
a2c89d64df
MT#55283 add abstract dict_get_str()
Change-Id: Ibb453a18913803042ee0074cbfd5d4c19c30418b
1 year ago
Richard Fuchs
cc43740ce0
MT#55283 add abstract dict() method
Change-Id: I305f1fc3e4cab7961ca4d38c35fb8359c3a63856
1 year ago
Richard Fuchs
5f78fbfa02
MT#55283 refactor ng_sdp_attr_manipulations
using the new abstract dictionary/list iteration methods
Change-Id: I1b47fedb5a9fb05c207aa142879109cc8c903383
1 year ago
Richard Fuchs
425a3332b9
MT#55283 add bool return to dict_iter
to indicate success
Change-Id: Iaeaa41262a60d039b1e2d4b7ad2d30bb6c565c13
1 year ago
Richard Fuchs
2f367bf84a
MT#55283 add helper_arg to dict_iter
Change-Id: I0344a74c1d653a42b524612149857845b9815952
1 year ago
Richard Fuchs
ad1e051cb3
MT#55283 add get_int() method
Change-Id: I407783faac30bc911dafb7e69a73f0c52701cce5
1 year ago
Richard Fuchs
b826dbddd6
MT#55283 use list iterator for direction=
Change-Id: I797f1f7926eb177ff2d6ab3659415b91ead2d95f
1 year ago
Richard Fuchs
d007d9733a
MT#55283 add is_int() method
Change-Id: Ibcb1d1be415e85967eb5f3f87b91d79fa78eb4bb
1 year ago
Richard Fuchs
f50d5e7482
MT#55283 add list iteration method
Change-Id: Ib533a9faa942a12006271ec95dabe7e3cbdc0b9d
1 year ago
Richard Fuchs
a91bfc34e3
MT#55283 add abstract string/int parsing methods
Change-Id: I8acf3c1540a68ec2244a4a7768832855fed7937b
1 year ago
Richard Fuchs
f0eee2a75e
MT#55283 add abstract dictionary iterator
Change-Id: Ic41b41e533ffddda5c37ad5ea6155faa0100cada
1 year ago
Richard Fuchs
3f8f182119
MT#55283 introduce abstract parsing framework
Change-Id: I63ba6fc7e6278e989e87a3abdb66976084b403bc
1 year ago
Lucian Balaceanu
7905811c53
MT#55283 Adding support for NG trace to Homer
Support is desired for Kamailio/Rtpengine traffic via UDP.
Adding homer-disable-rtcp-stats and homer-enable-ng config params to
separately control sending to Homer each traffic type. By default rtcp
is `on` when homer parameter is configured. NG is by default disabled.
closes #1802
Change-Id: Ib68fb133cffc5d8945f9b6bf60bab3e80fab9630
2 years ago
Richard Fuchs
72b388a7ce
MT#59038 add support for "plain" NG protocols
For convenience we provide extra HTTP and WS endpoints that accept a
cookie-less NG or JSON message string. Not all commands are sensitive to
retransmits and this makes it easier to query call status etc.
Change-Id: Iffbc4ef9a5fdf916a374dfdd4042c61b437d18c9
2 years ago
Richard Fuchs
c6a5b53912
MT#55283 use escaped command strings for Graphite
Graphite isn't able to deal with spaces in the metric names delivered to
it. Introduce special version of the command strings with spaces
replaced by underscores.
closes #1780
Change-Id: Ie8bcec5ca4f2d427e92901f6fa76b985df6e459e
2 years ago
Richard Fuchs
57a80b4513
MT#55283 use g_auto for ng_buffer
Change-Id: Ic79f4380dcb7cbf23b35ca1bfec70c1986ac4477
2 years ago
Richard Fuchs
575d86816f
MT#55283 turn ng_buffer into typedef
Change-Id: I278cb1b81d9c23074cf159901668221f52d239dd
2 years ago
Richard Fuchs
8684a1933a
MT#57977 use symmetric UDP
UDP packets sent in response to a UDP request should have the same
source address as the request's destination address.
This can be achieved with sockets bound to a specific address, but in
the case of ANY-bound sockets, we can use the PKTINFO mechanism to do
this.
Extend control_ng_process() to accept an extra socket address
corresponding to the local address to use. Extend the signature of the
callback function (to do the actual sending) accordingly.
Extend socket_sendiov() to be able to set the PKTINFO cmsg when sending
a packet.
Add socket_sendto_from() as a convenience wrapper.
Extend control_udp_incoming() to pass the address from
udp_buf->local_addr back to socket_sendiov().
Change-Id: Idd019fdcfd796098e7807427e6686d4b05de35d1
2 years ago