Commit Graph

36 Commits

Author SHA1 Message Date
Nishad
a8834c0778 Normalize trunk filtering (#1126)
* Normalizing the comparison of numbers in the ListSIPInboundTrunkRequest Filter
1. Added normalization to the comparison of trunk and caller number in ListSIPInboundTrunkRequest
2. Moved NormalizeNumber to a utils number to prevent import cycle

* Fixing another import cycle caused by utils importing livekit

* Adding changeset

* PR feedback
2025-07-12 22:27:55 -07:00
Nishad
256d969480 Adding a new filed in the SipCall message to store the SIP call id (#1119)
* Adding a new filed in the SipCall message to store the SIP protocol generated call id.
This can be used in the sip code base whenever the sip call id needs to be fetched at a later stage

* generated protobuf

* adding changeset

* Ensuring that the generated protobufs from replay folder are also added to the CI commit

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-25 17:16:05 -07:00
Nishad
31c2c88286 Detailed responses in trunk iter (#1101)
* Detailed responses in trunk iter
    This will help discern between cases when
1. No trunks are configured
2. Trunks are configured but none matched.(This can happen when there is no default trunk)
3. There is a default trunk that got applied
4. A specific trunk matched

* Dropping the Iter from the function name

* Adding changeset
2025-06-10 15:07:42 -07:00
Denys Smirnov
ce72bd5bb7 Update API for SIP. (#869) 2025-03-19 14:49:48 +02:00
Denys Smirnov
e35a55f148 Move SIP call dispatch info into a separate type. (#989) 2025-03-01 14:47:08 +02:00
Denys Smirnov
d8a31f2b72 Handle SIP hostname in address filters. Expose attribute. (#987) 2025-02-25 17:12:07 +02:00
Denys Smirnov
f18a2d1107 Expose and improve SIP number normalization. (#986) 2025-02-25 12:37:42 +02:00
Denys Smirnov
56028e9bba Expose hooks for SIP trunk and rule matching. (#983) 2025-02-20 13:51:07 +02:00
Denys Smirnov
4cbefae488 Add a workaround for invalid IP masks in SIP. (#956) 2025-01-28 00:40:27 +02:00
Denys Smirnov
369640e32f Use iterators in SIP. (#943) 2025-01-14 12:05:18 +02:00
Denys Smirnov
409558f441 Add media encryption options. (#892) 2024-12-27 17:11:29 +02:00
David Zhao
69cf309a1f Include room preset/config in SIP tokens (#932)
* Include room preset/config in SIP tokens

* changeset
2024-12-26 19:44:03 -06:00
David Zhao
2c4895fbc2 adding room configuration in SIP dispatch rule (#923)
* adding room configuration in SIP dispatch rule

* generated protobuf

* changeset

* generated protobuf

* add to io.proto

* fix imports

* generated protobuf

* pass along room preset and config details

* comment about token flow

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-25 15:59:02 -06:00
Denys Smirnov
c3c005b67f Allow mapping all SIP headers to attributes. (#920) 2024-12-12 20:16:20 +02:00
Denys Smirnov
9e70d56c78 Map participant attributes to SIP headers. (#893) 2024-11-27 14:30:01 +02:00
Benjamin Pracht
40165b03e6 Report call enabled features in SIPCallInfo (#884)
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-26 09:37:32 -08:00
Denys Smirnov
3c72d6581b Annotate SIP validation errors with Twirp codes. (#879) 2024-11-07 16:33:05 +02:00
David Colburn
ce8ba5ab12 Krisp inbound trunk setting (#866)
* add krisp_enabled to inbound trunk info

* generated protobuf

* add to EvaluateDispatchRule

* add estimated_cpu to StartEgress

* generated protobuf

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-22 01:14:27 -04:00
Denys Smirnov
d16f740cf0 Type safe IP checks for SIP Trunks. (#857) 2024-10-16 14:33:21 +03:00
Denys Smirnov
19b686d312 Add ringing timeout and max call duration setting for SIP. (#844)
* Add ringing timeout and max call duration setting for SIP.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-10 21:57:50 +03:00
Denys Smirnov
1f5de7d620 Update SIP protocol (#805)
* Update SIP protocol. Pass headers and project ID.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-13 10:45:25 +03:00
Denys Smirnov
2454665245 Add callee dispatch rule type. (#798) 2024-08-31 19:33:55 +03:00
Denys Smirnov
79b5ea9ea9 Add SIP grants. (#745) 2024-06-20 17:49:41 +03:00
David Zhao
e0c49d3c9d Support for key/value attributes on Participant (#733)
* Support for key/value attributes on Participant

Key/value attributes lets us:
* allow various components to provide more information about the participant (i.e. SIP including the phone number)
* allow Agents to communicate their own status to the end user via RTC
* enable applications to update specific fields without overriding others

* generated protobuf

* Attribute support for SIP.

* generated protobuf

* generated protobuf

* allow specifying attributes during token generation

* Remove sip prefix and rename phone number attrs.

* regenerate protos

* update tests

* add kv attrs to sip token

* add attribute test

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denys Smirnov <dennwc@pm.me>
2024-06-19 22:27:09 -07:00
Denys Smirnov
32c577d805 Split SIP Trunk configuration to inbound and outbound parts. (#738) 2024-06-17 21:42:19 +03:00
Denys Smirnov
0411da6790 Simplify number matching rules. Make '+' optional. (#737) 2024-06-13 13:26:21 +03:00
Paul Wells
d5e9f0a2f9 refactor guid out of utils (#730)
* refactor guid out of utils

* cleanup
2024-06-05 19:07:23 -07:00
Denys Smirnov
142d7f108f Match SIP Trunks by source IP or mask. (#724) 2024-05-28 20:55:36 +03:00
Denys Smirnov
38423424ed Allow number filtering on Dispatch Rules (#707)
Allow inbound number filtering on  SIP Dispatch Rules. It works similar to Trunks, where rules without a number filter are grouped together and take less priority than number-specific rules.

While at it, simplify the rule evaluation.

Previously it was doing some hand-crafted checks for evaluation path, that matched the validation path. Same double logic existed for priorities as well.

Now the validation is always called from evaluation, thus sharing the logic. And rule selection is simplified by just picking the first one after priority filtering.
2024-05-07 19:23:35 +03:00
Denys Smirnov
e7962f4444 Pass additional metadata for SIP. (#696) 2024-04-26 13:44:03 +03:00
Denys Smirnov
912f0cf1cd Add bounds check when trimming the number. (#650) 2024-03-13 15:27:33 +02:00
Denys Smirnov
7a70c5da9b Expose trunks/dispatch validation for API/CLI. Deprecate regexps for inbound. (#623) 2024-03-01 11:38:19 +02:00
Denys Smirnov
d89487fdbc More specific SIP call dispatch result codes. (#596) 2024-02-08 17:54:07 +02:00
Denys Smirnov
f56f11e568 Generate unique room names for SIP. (#584) 2024-01-24 22:16:54 +02:00
Denys Smirnov
2e48332992 Pass participant kind in the grant. (#571) 2024-01-16 17:19:18 +02:00
Denys Smirnov
ec88d89da1 Move SIP rules from LiveKit server. (#534) 2023-11-30 12:36:07 -05:00