Hi everyone,
we are running a call center with really good to use hardphones and audio only up to this point. Because of changing regulation, we soon have to deal with video calls as well, but only for a fraction of the calls (below 1%).
Instead of switching everyone to clumsy softphones for the rare case of a video call, I’m exploring the ability to branch an incoming call into a pure audio call to the hardphone and optionally a pure video call to the softphone.
Has anyone done this in the past and can share some experiences/ideas on
1. Can it be done purely with Kamailio and rtpengine? I don’t have a clear picture of how to do it purely with Kamailio on the SIP side, because we end up with two independent legs (to the hardphone and the softphone). Or do I need to deploy an Asterisk, Yate, freeswitch, etc. and doing it as a 3-way conference where one party gets both RTP streams (the trunk) and the other two parties only get one RTP stream (either audio or video)? 2. Was it worth the effort or a steady candidate for troubles?
I’m looking forward to your thoughts, especially on question b).
Have a nice weekend, Christoph
--- Christoph Rüdiger Digital Operations Architect DTX OU DACH
M +49 152 3828 0376 | christoph.ruediger@tkelevator.commailto:christoph.ruediger@tkelevator.com TK Aufzüge GmbH | Münchener Str. 100c | 45145 Essen | Deutschland | www.tkelevator.com/dehttp://www.tkelevator.com/de
VORSITZENDE DES AUFSICHTSRATS Inge Delobelle | GESCHÄFTSFÜHRUNG Burkhard Schlenker (Vorsitzender) | Christian Fongern | Katja Schrafft | SITZ DER GESELLSCHAFT Neuhausen a. d. F. | REGISTERGERICHT Stuttgart HRB 731152
This e-mail (including any attachments) may contain confidential and/or privileged information. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail.
Hello,
AFAIK there is no support in rtpengine for video codecs yet, e.g., refer to this discussion: https://groups.google.com/g/rtpengine/c/Tf3us2oBW3w
You can of course route the calls with video differently with Kamailio, for example with sdpops or other detection mechanism. And then using one of the mentioned other PBX projects to process the call. I would probably try to handle the video call media completely on the PBX then, and not try to mix and match somehow it on the different components. Especially as its only a low percentage of the total calls.
Cheers,
Henning
-- Henning Westerholt – https://skalatan.de/blog/ Kamailio services – https://gilawa.comhttps://gilawa.com/
From: sr-users sr-users-bounces@lists.kamailio.org On Behalf Of Rüdiger, Christoph Sent: Friday, May 13, 2022 6:54 PM To: sr-users@lists.kamailio.org Subject: [SR-Users] Split audio and video into different calls
Hi everyone,
we are running a call center with really good to use hardphones and audio only up to this point. Because of changing regulation, we soon have to deal with video calls as well, but only for a fraction of the calls (below 1%).
Instead of switching everyone to clumsy softphones for the rare case of a video call, I’m exploring the ability to branch an incoming call into a pure audio call to the hardphone and optionally a pure video call to the softphone.
Has anyone done this in the past and can share some experiences/ideas on
a) Can it be done purely with Kamailio and rtpengine? I don’t have a clear picture of how to do it purely with Kamailio on the SIP side, because we end up with two independent legs (to the hardphone and the softphone). Or do I need to deploy an Asterisk, Yate, freeswitch, etc. and doing it as a 3-way conference where one party gets both RTP streams (the trunk) and the other two parties only get one RTP stream (either audio or video)?
b) Was it worth the effort or a steady candidate for troubles?
I’m looking forward to your thoughts, especially on question b).
Have a nice weekend, Christoph
--- Christoph Rüdiger Digital Operations Architect DTX OU DACH
M +49 152 3828 0376 | christoph.ruediger@tkelevator.commailto:christoph.ruediger@tkelevator.com TK Aufzüge GmbH | Münchener Str. 100c | 45145 Essen | Deutschland | www.tkelevator.com/dehttp://www.tkelevator.com/de
VORSITZENDE DES AUFSICHTSRATS Inge Delobelle | GESCHÄFTSFÜHRUNG Burkhard Schlenker (Vorsitzender) | Christian Fongern | Katja Schrafft | SITZ DER GESELLSCHAFT Neuhausen a. d. F. | REGISTERGERICHT Stuttgart HRB 731152
This e-mail (including any attachments) may contain confidential and/or privileged information. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail.
Hello Christoph,
I held back responding, but since it does not seem directly possible with Kamailio here's what I what try.
RTP frames have a Payload Type which is usually negotiated in rtpmap attributes in SDP, but there are static mappings for many codecs. I would first figure out if you can find a common pattern in your (local) traffic that separates the two kinds of payload.
Since the Payload Type is at a fixed offset (the lower 7 bits of the second RTP byte, the 8th bit is an M-bit) you could instruct a firewall to mangle/redirect traffic to your video wall. You can easily ignore the M bit in the same byte by specifying two values for the M-bit + Payload Type byte. For NFT on Linux, see https://manpages.debian.org/bullseye/nftables/nft.8.en.html#RAW_PAYLOAD_EXPR...
If this seems workable, I would look into the sdpops module in Kamailio, to modify any SDP attachments coming in and going out, to strip and add video codecs. You may or may not need to dynamically alter the firewall bypassing. But in general, you can set where the Payload Type on the local end receives video streams -- possibly with different codecs. http://www.kamailio.net/docs/modules/5.6.x/modules/sdpops.html
You may or may not need to use Kamailio to fork a connection to your video software, depending on whether it wants SIP to talk to it.
This probably gives you the control you need, but it is a bit of a hack. Which is why I held back to see if others knew a more direct method of doing what you want.
It would be interesting to hear if / how this works for you, by the way. It might even be a nice blog article.
Cheers, -Rick
Hello Rick,
interesting approach. We can identify video calls by special SIP headers and/or sdp contents and have Kamailio trigger a webhook or something.
But even though I would like to try it at home, I see huge issues with maintaining such a solution in production. This is so far off from anything standard that you need to have this one guy at hand when all hell breaks loose.
I'd rather favor Henning's suggestion of reverting to a PBX and implement the media handling there. Not that fancy, but maintainable by the average support guy that comes in for half a year and leaves afterwards.
Regards, Christoph
-----Original Message----- From: sr-users sr-users-bounces@lists.kamailio.org On Behalf Of Rick van Rein Sent: Tuesday, May 17, 2022 7:57 AM To: Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org Subject: Re: [SR-Users] Split audio and video into different calls
This message was sent from outside the company. Please do not click links or open attachments unless you recognize the source of this email and know the content is safe.
Hello Christoph,
I held back responding, but since it does not seem directly possible with Kamailio here's what I what try.
RTP frames have a Payload Type which is usually negotiated in rtpmap attributes in SDP, but there are static mappings for many codecs. I would first figure out if you can find a common pattern in your (local) traffic that separates the two kinds of payload.
Since the Payload Type is at a fixed offset (the lower 7 bits of the second RTP byte, the 8th bit is an M-bit) you could instruct a firewall to mangle/redirect traffic to your video wall. You can easily ignore the M bit in the same byte by specifying two values for the M-bit + Payload Type byte. For NFT on Linux, see https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmanpages.d...
If this seems workable, I would look into the sdpops module in Kamailio, to modify any SDP attachments coming in and going out, to strip and add video codecs. You may or may not need to dynamically alter the firewall bypassing. But in general, you can set where the Payload Type on the local end receives video streams -- possibly with different codecs. https://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamaili...
You may or may not need to use Kamailio to fork a connection to your video software, depending on whether it wants SIP to talk to it.
This probably gives you the control you need, but it is a bit of a hack. Which is why I held back to see if others knew a more direct method of doing what you want.
It would be interesting to hear if / how this works for you, by the way. It might even be a nice blog article.
Cheers, -Rick
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kama...
Hi Rüdiger,
what you could achieve with Kamailio (and in my understanding, this is what you are thinking about), is to send Audio-Calls to Group 1 (e.g. your legacy agents) and Video-Calls to Group 2 (e.g. Agents with a Video-Phone or Soft-Client). Is this, what you want to achieve?
Thanks, Carsten -- Carsten Bock I CTO & Founder
ng-voice GmbH
Trostbrücke 1 I 20457 Hamburg I Germany T +49 179 2021244 I www.ng-voice.com
Registry Office at Local Court Hamburg, HRB 120189 Managing Directors: Dr. David Bachmann, Carsten Bock
Am Fr., 13. Mai 2022 um 18:56 Uhr schrieb Rüdiger, Christoph < christoph.ruediger@tkelevator.com>:
Hi everyone,
we are running a call center with really good to use hardphones and audio only up to this point. Because of changing regulation, we soon have to deal with video calls as well, but only for a fraction of the calls (below 1%).
Instead of switching everyone to clumsy softphones for the rare case of a video call, I’m exploring the ability to branch an incoming call into a pure audio call to the hardphone and optionally a pure video call to the softphone.
Has anyone done this in the past and can share some experiences/ideas on
- Can it be done purely with Kamailio and rtpengine? I don’t have a
clear picture of how to do it purely with Kamailio on the SIP side, because we end up with two independent legs (to the hardphone and the softphone). Or do I need to deploy an Asterisk, Yate, freeswitch, etc. and doing it as a 3-way conference where one party gets both RTP streams (the trunk) and the other two parties only get one RTP stream (either audio or video)? 2. Was it worth the effort or a steady candidate for troubles?
I’m looking forward to your thoughts, especially on question b).
Have a nice weekend,
Christoph
Christoph Rüdiger
Digital Operations Architect DTX OU DACH
*M* +49 152 3828 0376 | christoph.ruediger@tkelevator.com TK Aufzüge GmbH | Münchener Str. 100c | 45145 Essen | Deutschland | www.tkelevator.com/de
*VORSITZENDE DES AUFSICHTSRATS* Inge Delobelle | *GESCHÄFTSFÜHRUNG* Burkhard Schlenker (Vorsitzender) | Christian Fongern | Katja Schrafft | *SITZ DER GESELLSCHAFT* Neuhausen a. d. F. | *REGISTERGERICHT* Stuttgart HRB 731152
This e-mail (including any attachments) may contain confidential and/or privileged information. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail.
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Hi Carsten,
not quite. I’m looking for a maintainable way of splitting an incoming video into a pure audio call to station 1 (deskphone) and a pure video call or mixed audio/video call to station 2 (softphone). Both stations belong to the same agent though.
Background is that the agents all prefer the hardphones very much over the softphones and hence all have their headsets connected to the hardphone. In the rare case a video call comes in, they should ideally be able to keep using their hardphones for the audio instead of fiddling with their headsets trying to switch over from hardphone to PC while a call is ringing. Of course, the video stream must terminate on the softphones. The hardphones don’t have video capabilities.
If this is not possible (or maintainable), we must migrate the whole call center to softphones. So, it is kind of a convenience feature and I’m evaluating at which cost it comes.
Regards, Christoph
From: sr-users sr-users-bounces@lists.kamailio.org On Behalf Of Carsten Bock Sent: Tuesday, May 17, 2022 10:35 AM To: Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org Subject: Re: [SR-Users] Split audio and video into different calls
This message was sent from outside the company. Please do not click links or open attachments unless you recognize the source of this email and know the content is safe. Hi Rüdiger,
what you could achieve with Kamailio (and in my understanding, this is what you are thinking about), is to send Audio-Calls to Group 1 (e.g. your legacy agents) and Video-Calls to Group 2 (e.g. Agents with a Video-Phone or Soft-Client). Is this, what you want to achieve?
Thanks, Carsten -- Carsten Bock I CTO & Founder
ng-voice GmbH
Trostbrücke 1 I 20457 Hamburg I Germany T +49 179 2021244 I www.ng-voice.comhttps://eur06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ng-voice.com%2F&data=05%7C01%7Cchristoph.ruediger%40tkelevator.com%7Ce3547f88e3f1473036aa08da37e0d1e6%7C84d9a216e2854aacb1630dfd0c074546%7C0%7C0%7C637883735986933016%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=eP3cGC81vikFcT6McNOpfgnPqQBuki3jgKpiH80MzUY%3D&reserved=0
Registry Office at Local Court Hamburg, HRB 120189 Managing Directors: Dr. David Bachmann, Carsten Bock
Am Fr., 13. Mai 2022 um 18:56 Uhr schrieb Rüdiger, Christoph <christoph.ruediger@tkelevator.commailto:christoph.ruediger@tkelevator.com>: Hi everyone,
we are running a call center with really good to use hardphones and audio only up to this point. Because of changing regulation, we soon have to deal with video calls as well, but only for a fraction of the calls (below 1%).
Instead of switching everyone to clumsy softphones for the rare case of a video call, I’m exploring the ability to branch an incoming call into a pure audio call to the hardphone and optionally a pure video call to the softphone.
Has anyone done this in the past and can share some experiences/ideas on
1. Can it be done purely with Kamailio and rtpengine? I don’t have a clear picture of how to do it purely with Kamailio on the SIP side, because we end up with two independent legs (to the hardphone and the softphone). Or do I need to deploy an Asterisk, Yate, freeswitch, etc. and doing it as a 3-way conference where one party gets both RTP streams (the trunk) and the other two parties only get one RTP stream (either audio or video)? 2. Was it worth the effort or a steady candidate for troubles?
I’m looking forward to your thoughts, especially on question b).
Have a nice weekend, Christoph
--- Christoph Rüdiger Digital Operations Architect DTX OU DACH
M +49 152 3828 0376 | christoph.ruediger@tkelevator.commailto:christoph.ruediger@tkelevator.com TK Aufzüge GmbH | Münchener Str. 100c | 45145 Essen | Deutschland | www.tkelevator.com/dehttp://www.tkelevator.com/de
VORSITZENDE DES AUFSICHTSRATS Inge Delobelle | GESCHÄFTSFÜHRUNG Burkhard Schlenker (Vorsitzender) | Christian Fongern | Katja Schrafft | SITZ DER GESELLSCHAFT Neuhausen a. d. F. | REGISTERGERICHT Stuttgart HRB 731152
This e-mail (including any attachments) may contain confidential and/or privileged information. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail.
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-usershttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=05%7C01%7Cchristoph.ruediger%40tkelevator.com%7Ce3547f88e3f1473036aa08da37e0d1e6%7C84d9a216e2854aacb1630dfd0c074546%7C0%7C0%7C637883735986933016%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=RUQIPKQCOCtBHcWJWSvJiDxaW8czB0AOk%2BLyQASmEUE%3D&reserved=0