Я использую
asterisk -rx "pjsip show channels"
чтобы показать звонки и активные звонки, но так как у меня много добавочных номеров звонит одновременно, я получил что-то вроде этого
[root@freepbx ~]# asterisk -rx "pjsip show channels"
Channel: <ChannelId........................................> <State.....> <Time.....>
Exten: <DialedExten.............> CLCID: <ConnectedLineCID.......>
==========================================================================================
Channel: PJSIP/214-0001190d/AppDial Ringing 00:00:19
Exten: 214 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/215-0001190e/AppDial Ringing 00:00:19
Exten: 215 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/221-00011909/AppDial Ringing 00:00:19
Exten: 221 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/222-00011910/AppDial Ringing 00:00:19
Exten: 222 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/223-0001190b/AppDial Ringing 00:00:19
Exten: 223 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/225-00011912/AppDial Ringing 00:00:19
Exten: 225 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/226-00011914/AppDial Ringing 00:00:19
Exten: 226 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/227-0001190a/AppDial Ringing 00:00:19
Exten: 227 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/228-00011915/AppDial Ringing 00:00:19
Exten: 228 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/230-00011913/AppDial Ringing 00:00:19
Exten: 230 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/231-000118d7/AppDial Up 00:01:41
Exten: s CLCID: "0566437XX" <0566437XX>
Channel: PJSIP/232-0001190f/AppDial Ringing 00:00:19
Exten: 232 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/234-00011911/AppDial Ringing 00:00:19
Exten: 234 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/235-00011908/AppDial Ringing 00:00:19
Exten: 235 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/236-00011907/AppDial Ringing 00:00:19
Exten: 236 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/237-000118ed/AppDial Up 00:01:01
Exten: s CLCID: "0415346979" <0415346979>
Channel: PJSIP/238-0001190c/AppDial Ringing 00:00:19
Exten: 238 CLCID: "+336506736XX" <+336506736XX>
Channel: PJSIP/272-00011919/AppDial Ringing 00:00:09
Exten: 2030 CLCID: "Venezia:33339180XX" <33339180XX>
Channel: PJSIP/276-0001191a/AppDial Ringing 00:00:09
Exten: 2030 CLCID: "Venezia:33339180XX" <33339180XX>
Channel: PJSIP/ANCONA_UFFICIO-0001184b/Queue Up 00:05:21
Exten: 2000 CLCID: "" <>
Channel: PJSIP/ANCONA_UFFICIO-0001189c/Queue Up 00:03:20
Exten: 2000 CLCID: "" <>
Channel: PJSIP/ANCONA_UFFICIO-000118e9/Queue Up 00:01:14
Exten: 2000 CLCID: "" <>
Channel: PJSIP/VENEZIA_PASSEGGERI-000118e6/Queue Up 00:01:20
Exten: 2000 CLCID: "" <>
Channel: PJSIP/VENEZIA_PASSEGGERI-00011918/Dial Ring 00:00:09
Exten: s CLCID: "" <>
Objects found: 24
Итак… есть ли способ отфильтровать это таким образом, чтобы отображались только одни записи для каждого входящего вызова? Я старался
asterisk -rx "pjsip show channels" | grep -o '"[^"]\+"' | sort -t: -u -k1,1
это покажет ожидаемый результат, но я потеряю линию до того, как она покажет, работает ли она или звонит, поэтому я попытался с
asterisk -rx "pjsip show channels" | grep -B 1 -o '"[^"]\+"' | sort -t: -u -k1,1
но результат неверный большое спасибо