"README.md" did not exist on "77ed1394b60213bcd7d93ad999751e8901588802"
- Mar 06, 2022
-
-
-
-
-
-
This commit includes revert of: commit d178f497 "res_pjsip: Filter out non SIP(S) requests"
-
-
-
-
After 'from_user' config has been removed from pjsip_endpoint config the user in FROM header was wrong. Fix it with using session->id.number instead of connected_id.number (which is wrong in this case).
-
-
- asterisk.telephony -> voice.line, "line" -> "id" - asterisk.sip -> voice.sip.client, "line" -> "uri" - asterisk.mwi -> voice.mwi
-
Also fix some miscellaneous compiling warnings.
-
-
There is an issue with copying RTP statistics from snapshot to cdr hence call log does not contains RTP stats for incoming calls - for outgoing call it works fine. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
-
-
-
MWI feature can be enabled/disabled by the 'mwi_enabled' configuration parameter in asterisk config. When the NOTIFY message is received by pjsip with new message the ubus event is sent in asterisk.mwi path. Apart from that 'mwi_dialtone_state' can be configured for specific endpoint (sip account) - it will be used as audiable indication when new message is waiting for the mailbox connected with the endpoint. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
When the NOTIFY event was received by pjsip and the message body was not properly terminated with '\r\n' the SEGFAULT happened in parse_simple_message_summary(). Check the proper termination of message body for NOTIFY and fix it if its wrong. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
-
Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
Change implementation of adding mediasec headers in REGISTER, INVITE, REINVITE, OPTIONS events to be dynamically configured based on the response from the Sip Server. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
In pjsip the attended call transfer has an issue that connection between transferee and transferor is not finished immediately but after 60s timeout. Not sure why it is implemented this way (defer termination) but changing the timeout into 1s makes the attended call transfer work the same as it was with chan_sip driver. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
-
- Jul 22, 2021
-
-
Joshua C. Colp authored
If a re-INVITE is received after we have sent a BYE request then it is possible for no channel to be present on the session. If this occurs we allow PJSIP to produce the offer instead. Since the call is being hung up if it produces an incorrect offer it doesn't actually matter. This also ensures that code which produces SDP does not need to handle if a channel is not present. ASTERISK-29381 Change-Id: I673cb88c432f38f69b2e0851d55cc57a62236042
-
- Jun 16, 2021
-
-
George Joseph authored
When the MessageSend destination is in the form PJSIP/<number>@<endpoint> and the endpoint's contact URI already has a user component, that user component will now be replaced with <number> when creating the request URI. ASTERISK_29404 Change-Id: I80e5910fa25c803d1440da0594a0d6b34b6b4ad5
-
- Jun 15, 2021
-
-
Bernd Zobl authored
Set preferred transport when querying the local address to use in filter_on_tx_messages(). This prevents the module to erroneously select the wrong transport if more than one transports of the same type (TCP or TLS) are configured. ASTERISK-29241 Change-Id: I598e60257a7f92b29efce1fb3e9a2fc06f1439b6
-
- Jun 10, 2021
-
-
Sean Bright authored
The text description needs to be the last thing on the AST_MODULE_INFO line to be pulled in properly by menuselect. Change-Id: I0c913e36fea8b661f42e56920b6c5513ae8fd832
-
- Jun 08, 2021
-
-
Naveen Albert authored
Adds hook flash recognition support for application/hook-flash. ASTERISK-29460 Change-Id: I1d060fa89a7cf41244c98f892fff44eb1c9738ea
-
- May 27, 2021
-
-
George Joseph authored
* Implemented the new "to" parameter of the MessageSend() dialplan application. This allows a user to specify a complete SIP "To" header separate from the Request URI. * Completely refactored the get_outbound_endpoint() function to actually handle all the destination combinations that we advertized as supporting. * We now also accept a destination in the same format as Dial()... PJSIP/number@endpoint * Added lots of debugging. ASTERISK-29404 Reported by Brian J. Murrell Change-Id: I67a485196d9199916468f7f98bfb9a0b993a4cce
-
- May 26, 2021
-
-
Ben Ford authored
STIR/SHAKEN requires a Date header alongside the Identity header, so that has been added. Still on the outgoing side, we were missing the dest->tn section of the JSON payload, so that has been added as well. Moving to the incoming side, URL checking has been added to the public cert URL to ensure that it starts with http. https://wiki.asterisk.org/wiki/display/AST/OpenSIPit+2021 Change-Id: Idee5b1b5e45bc3b483b3070e46ce322dca5b3f1c
-
Joshua C. Colp authored
For connection oriented transports PJSIP uses factories to produce transports. When doing a partial transport reload we need to also move the factory of the transport over so that anything referencing the transport (such as an endpoint) has the factory available. ASTERISK-29441 Change-Id: Ieae0fb98eab2d9257cad996a1136e5a62d307161
-
Evgenios_Greek authored
When unsubscribing from an endpoint technology a FRACK would occur due to incorrect reference counting. This fixes that issue, along with some other issues. Fixed a typo in get_subscription when calling ao2_find as it needed to pass the endpoint ID and not the entire object. Fixed scenario where a subscription would get returned when it shouldn't have been when searching based on endpoint technology. A doulbe unreference has also been resolved by only explicitly releasing the reference held by tech_subscriptions. ASTERISK-28237 #close Reported by: Lucas Tardioli Silveira Change-Id: Ia91b15f8e5ea68f850c66889a6325d9575901729
-
Joseph Nadiv authored
In multidomain environments, it is desirable to create PJSIP endpoints with the domain info in the endpoint name in pjsip_endpoint.conf. This resulted in an error with registrations, NOTIFY, and OPTIONS packet generation. This commit will detect if there is an @ in the endpoint identifier and generate the URI accordingly so NOTIFY and OPTIONS From headers will generate correctly. ASTERISK-28393 Change-Id: I96f8d01dfdd5573ba7a28299e46271dd4210b619
-
Joshua C. Colp authored
RTCP ICE candidates use a base address derived from the RTP candidate. The port on the base address was not being updated to the RTCP port. This change sets the base port to the RTCP port and all is well. ASTERISK-29433 Change-Id: Ide2d2115b307bfd3c2dfbc4d187515d724519040
-
- May 21, 2021
-
-
Jeremy Lainé authored
By default Asterisk reports the PJSIP version in a SOFTWARE attribute of every STUN packet it sends. This may not be desired in a production environment, and RFC5389 recommends making the use of the SOFTWARE attribute a configurable option: https://datatracker.ietf.org/doc/html/rfc5389#section-16.1.2 This patch adds a `stun_software_attribute` yes/no option to make it possible to omit the SOFTWARE attribute from STUN packets. ASTERISK-29434 Change-Id: Id3f2b1dd9584536ebb3a1d7e8395fd8b3e46860b
-
- May 20, 2021
-
-
George Joseph authored
RFC7616 and RFC8760 allow more than one WWW-Authenticate or Proxy-Authenticate header per realm, each with different digest algorithms (including new ones like SHA-256 and SHA-512-256). Thankfully however a UAS can NOT send back multiple Authenticate headers for the same realm with the same digest algorithm. The UAS is also supposed to send the headers in order of preference with the first one being the most preferred. We're supposed to send an Authorization header for the first one we encounter for a realm that we can support. The UAS can also send multiple realms, especially when it's a proxy that has forked the request in which case the proxy will aggregate all of the Authenticate headers and then send them all back to the UAC. It doesn't stop there though... Each realm can require a different username from the others. There's also nothing preventing each digest algorithm from having a unique password although I'm not sure if that adds any benefit. So now... For each Authenticate header we encounter, we have to determine if we support the digest algorithm and, if not, just skip the header. We then have to find an auth object that matches the realm AND the digest algorithm or find a wildcard object that matches the digest algorithm. If we find one, we add it to the results vector and read the next Authenticate header. If the next header is for the same realm AND we already added an auth object for that realm, we skip the header. Otherwise we repeat the process for the next header. In the end, we'll have accumulated a list of credentials we can pass to pjproject that it can use to add Authentication headers to a request. NOTE: Neither we nor pjproject can currently handle digest algorithms other than MD5. We don't even have a place for it in the ast_sip_auth object. For this reason, we just skip processing any Authenticate header that's not MD5. When we support the others, we'll move the check into the loop that searches the objects. Changes: * Added a new API ast_sip_retrieve_auths_vector() that takes in a vector of auth ids (usually supplied on a call to ast_sip_create_request_with_auth()) and populates another vector with the actual objects. * Refactored res_pjsip_outbound_authenticator_digest to handle multiple Authenticate headers and set the stage for handling additional digest algorithms. * Added a pjproject patch that allows them to ignore digest algorithms they don't support. This patch has already been merged upstream. * Updated documentation for auth objects in the XML and in pjsip.conf.sample. * Although res_pjsip_authenticator_digest isn't affected by this change, some debugging and a testsuite AMI event was added to facilitate testing. Discovered during OpenSIPit 2021. ASTERISK-29397 Change-Id: I3aef5ce4fe1d27e48d61268520f284d15d650281
-
- May 19, 2021
-
-
Joseph Nadiv authored
RFC 4235 Section 4.1.6 describes XML elements that should be sent to subscribed endpoints to identify the local and remote participants in the dialog. This patch adds this functionality to PJSIP by iterating through the ringing channels causing the NOTIFY, and inserts the channel info into the dialog so that information is properly passed to the endpoint in dialog-info+xml. ASTERISK-24601 Patch submitted: Joshua Elson Modified by: Joseph Nadiv and Sean Bright Tested by: Joseph Nadiv Change-Id: I20c5cf5b45f34d7179df6573c5abf863eb72964b
-
- May 11, 2021
-
-
Ben Ford authored
STIR/SHAKEN encodes using base64 URL format. Currently, we just use base64. New functions have been added that convert to and from base64 encoding. The origid field should also be an UUID. This means there's no reason to have it as an option in stir_shaken.conf, as we can simply generate one when creating the Identity header. https://wiki.asterisk.org/wiki/display/AST/OpenSIPit+2021 Change-Id: Icf094a2a54e87db91d6b12244c9f5ba4fc2e0b8c
-