- Apr 16, 2025
-
-
Lukasz Kotasa authored
Here is our pjsip_endpoint.conf: outgoing_call_offer_pref = local_merge incoming_call_offer_pref = remote_first  For outgoing calls we use local_merge (UNION) which means "Merge the lists with the preferred codecs first" For incomming calls we use remote_first (INTERSECT) which means "Only common codecs with the preferred codecs first" When UPDATE was received for incoming call, device responded with 488 Not Acceptable Here with Reason:Q.850;cause=16 When UPDATE was received for outgoing call, device responded with 488 Not Acceptable Here with Reason:Q.850;cause=58 BYE After this commit we have the same behaviour for UPDATE during both incoming and outgoing call. Incoming calls were fixed in similar way before in fb501964.
-
- Apr 15, 2025
-
-
Grzegorz Sluja authored
The workaround is to send one CNG packet to the negotiated remote address and port. Why asterisk refuses to receive/accept incoming RTP packets until at least one RTP packet is sent remains unknown.
-
Grzegorz Sluja authored
The commit contains 2 fixes making the authorization header is cached during initial registration and then reused for further re-REGISTER requests. - Enable flags in pjproject so the authorization header is cached and then automatically included in next re-REGISTER requests. - Set initial registration outbound authentication credentials properly so the following error in pjproject is fixed and authorization header is cached properly: pjproject: <?>: sip_auth_clien ...Unable to set auth for tdta0x: can not find credential for X.X.X.X/Digest
-
- Apr 10, 2025
-
-
Iryna Antsyferova authored
-
Wenpeng Song authored
- Add Require=replaces, user=phone into Refer-To header field - Remove to-tag, from-tag, from Refer-To:replaces Note that the changes only make the test move forward a bit. But external transfer as a feature still does NOT work after this commit. The reason to accept this partial change is that it has been pushed into the customer's git repo and we have to keep the code synchronised.
-
- Mar 31, 2025
-
-
Wenpeng Song authored
Before this fix, the emergency registration (e.g. UDP) tries falling back to the configured transport (e.g. TLS) even if there is a subsequent emergency call ongoing. After this fix, the emergency registration doesn't fallback to the configured transport until the current registration expires and there is no emergency call ongoing.
-
- Mar 26, 2025
-
-
Wenpeng Song authored
* do not de-register while hangup an emergency-call through emergency-register, and reset to primary under next registration instead. * accept incoming call through emergency-transport during emergency registration period
-
- Mar 24, 2025
-
-
Iryna Antsyferova authored
-
Iryna Antsyferova authored
Check for NTP synchronization for a maximum duration of ~90 seconds. The reason for around 90 seconds is that in a case where TLS fails for some other reason, (not due to lack of NTP synchronization) such as that none of the 3 servers can support TLS, it will take up to 32+32+32 seconds to fail over to UDP following DT normal fallback algorithm. If it takes the same amount of time this in this case, it should be ok, and easy to argue for. Currently it takes 10 x 60 seconds which is way to long.
-
- Mar 20, 2025
-
-
Iryna Antsyferova authored
This commit fixes the below issue. When there are no resolved addresses (tdata->dest_info.addr.count == 0), no registration attempts occur (client_state->failures == 0), then transport2 is never tried.
-
Wenpeng Song authored
registration_resend() simply does nothing and returns 0 when client_state-> registration_resend_timer_id is -1. This commit creates a 1s timer and causes registration_resend() to do the actual work.
-
- Mar 14, 2025
-
-
Iryna Antsyferova authored
-
- Mar 13, 2025
-
-
Iryna Antsyferova authored
-
Iryna Antsyferova authored
This is used to validate the source address of a SIP request from LAN side.
-
- Mar 12, 2025
-
-
Wenpeng Song authored
- Update the flag endpoint->failover_reg_addr with 3 states, 0/1/2 -> none/504-register-ongoing/504-registerfailed - Add the 504_flag into the pjsip show registrations which will be used by chan-voicemngr to decide if an INVITE should be sent after 504. - Restore the original client_state->registration_expires if 504-register failed.
-
- Mar 05, 2025
-
-
Iryna Antsyferova authored
A record which has the unspecified transport type is considered as invalid.
-
- Mar 03, 2025
-
-
Wenpeng Song authored
* 408 response received from the server should be handled the same as other codes like 503 * Introduce response code 444 from pjsip while no response been received to differentiate it with 408 which is from the server * there should have no retry during recovery flow if no retry-after, retry should only happened during the first round if no retry-after.
-
- Feb 27, 2025
-
-
Wenpeng Song authored
-
- Feb 26, 2025
-
-
Wenpeng Song authored
-
- Feb 20, 2025
-
-
Lukasz Kotasa authored
-
- Feb 18, 2025
-
-
Wenpeng Song authored
* Add actual registration address:port into debug log * Add latest registration address:port into `pjsip show registrations` CLI to avoid confusion The CLI shows below before the changes, while TLS(failed) falls back to UDP(registered). <Registration/ServerURI> <Auth> <Status> ======================================================================================= sip0/sip:tel.t-online.de:5061 sip0 Registered (exp. 376s) After the changes. <Registration/ServerURI(Primarily)> <Auth> <Latest Registration> <Status> ======================================================================================= sip0/sip:tel.t-online.de:5061 sip0 192.168.2.150:5060 Registered
-
Wenpeng Song authored
* fix the invite sent to wrong address other than the registered one * fix the un-registration issue after failover during emergency registration Rebuild the structure of E-reg flags and un-reg states, skipped unwanted request message while hangup before registered.
-
- Feb 12, 2025
-
-
Grzegorz Sluja authored
If the 'endpoint->fromdomain' config is an IPv4 or IPv6 address then each incoming request is checked if it is from this address. If the 'endpoint->fromdomain' is a host name then we are checking the DNS cache list and allow only incoming requests from the address in this list to be accepted.
-
- Feb 05, 2025
-
-
Wenpeng Song authored
* registration retry to the same address in 15s when response with no re-try, and fail over to next address after 2nd attempt.(#15581) * register request failure count to each single request that been sent out.(401/407 resend not count) * update a bit with the upper bound wait time log and update conditions to avoid redundant calculation. * fix request uri to make it consistency.(due to 7349c566 from #15901)
-
Yalu Zhang authored
An emergency call might cause a SIP client fall back to the emergency transport if it is not registered. After the emergency call ends, the client tries to register via the "normal" transport. But the Expires header is missing in the first REGISTER requests and this causes the default expiration value from the registrar side is being used. This commit adds an Expires header with the configured expiration value in an outgoing REGISTER request if the header is absent.
-
Iryna Antsyferova authored
-
Wenpeng Song authored
Fallback to the transport for emergency only when the current transport is different.
-
- Feb 03, 2025
-
-
George Yang authored
-
-
- Jan 27, 2025
-
-
George Yang authored
The available transports were not updated, which caused error when resolving for new enabled transport.
-
- Jan 24, 2025
-
-
Yalu Zhang authored
Add validation check to prevent NULL pointers from being accessed.
-
- Jan 20, 2025
-
-
It occured that changing the condition for AST_CONTROL_RINGING in a fix for REF 15850 introduced a degrade so the '180 RINGING' SIP event is sent many times for the incoming call processed to DUT. Restore the previous condition and fix the issue of early-media with reset the flag 'pa->sentringing' in other place makes the issue of early-media REF 15850 is fixed and there is no longer multiple '180 Ringing' SIP messages sent to the Caller.
-
Yalu Zhang authored
The attributes of the rejected media stream were missing in SDP answer before. With this commit, all attributes from the SDP offer for the rejected media stream are kept in the SDP answer.
-
- Jan 15, 2025
-
-
Wenpeng Song authored
Add and support max_sessions to the pjsip endpoint config, which reflect as `VoiceService. {i}.SIP.Client.{i}.MaxSessions`. No actual behavior changes have been done, just followed the same behavior and add an extra condition check after max session per line as the line_calls count was calculated per endpoint.
-
- Jan 10, 2025
-
-
Wenpeng Song authored
Retrieve XML content for INVITE response 504 with application/3gpp-ims+xml, and trigger registration recovery flow to the next address when XML content includes <action>initial-registration</action>.
-
- Jan 08, 2025
-
-
Lukasz Kotasa authored
-
- Dec 19, 2024
-
-
George Yang authored
-
George Yang authored
- Not trigger re-registration when Status 500 received for outgoing Invite - The emergency call flow is kept, which may trigger re-registration to recover from faulty status.
-
- Dec 16, 2024
-
-
Iryna Antsyferova authored
'use_callerid_contact' is set to 'yes' by default in our configuration. However, the Contact header did not match the Caller ID because it was replaced with `session->endpoint->contact_user`.
-
- Dec 11, 2024
-
-
Grzegorz Sluja authored
Change the value from sendonly to supported.
-