잘못된 형식의 이미지 링크입니다.
소개 대상
- 서브회선을 가끔 사용하시는 분들께 유용합니다.
- 메인회선 통화가 잦은 분들께는 적합하지 않을 수 있습니다.
간략한소개
- 메인 스마트폰의 인터넷전화앱을 통해 서브폰 통화 수발신이 가능합니다.
- 라즈베리파이에서 통화녹음을 하거나 인터넷전화앱이 지원할경우 메인폰에서 녹음이 가능합니다.
- 필요시 서브휴대폰을 직접 외부에 가지고 다니면서 사용해도 되기 때문에 3g dongle(chan_dongle)방식에 비해 편리합니다.
통화품질
- 라즈베리파이와 연결되는 메인폰의 네트워크 상황에 의존적이며, 3G 통화정도의 사용이 가능합니다.
- 약간의 통화 전달 딜레이가 있습니다.
통화품질 확인을 위한 테스트 샘플
테스트 환경 설정
- 메인폰의 인터넷 전화앱 <=> 상대폰 사이에 통화 2분 48초 진행
- 서브폰 <-> 상대폰 사이는 VoLTE 통화로 이루어짐.
- 메인폰은 LG U+ LTE 망상태에서 라즈베리파이와 연결됨.
- 인터넷통화는 GSM 코덱을 사용
- TV의 소리를 통화 수신음으로 사용함.
- 0초 ~ 1분 20초 : 상대폰에서 TV 소리 수음, 메인폰 VoIP앱 음소거
1분 20초 ~ 2분 48초 : 메인폰의 VoIP앱에서 TV소리 수음, 상대폰 음소거
녹음파일 샘플 결과
- 메인폰 VoIP앱 녹음파일 : https://anonymousfiles.io/eQ7ScG2V/
0초~ 1분 20초 : LTE망을 통해서 라즈베리파이에서 넘어온 상대폰의 수신음성
1분 20초 ~ 2분 48초 : 메인폰 VoIP앱이 직접 소리를 녹음한 음성. - 서브폰 녹음파일 : https://anonymousfiles.io/WE3gKcUB/
0초~ 1분 20초 : VoLTE망을 통해서 들어온 상대폰의 수신음성
1분 20초 ~ 2분 48초 : 메인폰 수신한 음성이 LTE망을 통해 라즈베리파이로 넘어와 블투를 통해 서브폰에 녹음된 음성. - 상대폰 녹음파일 : https://anonymousfiles.io/uZ6T7yNc/
0초~ 1분 20초 : 상대폰이 직접 녹음한 음성
1분 20초 ~ 2분 48초 : 메인폰 수신한 음성이 라즈베리파이-서브폰을 넘어와 녹음된 수신음성.
설치 준비물
- 라즈베리파이($) : SD카드와 전원장치도 모두 포함합니다.
- 블루투스 동글($) : 제 경우 라즈베리파이 내장 블루투스모듈이 잘 되지 않아 추가로 사용했습니다. CSR사 동글이면 무난하고 최저가격은 알리익스프레스 기준 1~2달러입니다.
- 블루투스 통화연결이 가능한 휴대폰 : 사용중인 서브휴대폰을 사용하면 됩니다.
- 인터넷 전화앱($) : 메인폰에 설치합니다. 안드로이드폰의 경우 선택의 범위가 넓고, 아이폰의 경우 전화가 올 때 백그라운드에서 활성화되어 받을 수 있는 푸쉬서비스를 제공하는 Acrobitz사의 앱이나 Bria Mobile앱을 사용하는게 좋습니다.
- RasPBX : http://www.raspberry-asterisk.org/downloads/ 에서 받을 수 있습니다.
주의사항
- 라즈베리파이에 외부에서 수많은 공격시도가 들어오기 때문에 보안설정에 유의하시기 바랍니다.
- 리눅스 환경에 다소 익숙하지 않으신분은 어려운 내용일 수 있습니다.
- 설치설명에 나오는 내용은 기본적인 구동을 위한 설정이 설명되어 있기에 NAT환경등에 따라 통화음이 들리지 않을 수 있습니다.
모바일망<->Wi-Fi 핸드오프가 되지 않기 때문에 야외에서 통화 중 망이 바뀌면 중간에 통화가 끊어질 수 있습니다.
추가활용 방안
- 블루투스 동글을 늘려주면 여러 서브회선 운용이 가능합니다. 대신 이때에는 여러회선을 어떻게 구분해서 받을지 asterisk 설정을 잘 조정해야 합니다.
- NAS나 별도 서버를 운영하시는 분은 asterisk를 그곳에서 구동하면 별도의 라즈베리파이가 필요없습니다.
- Pi-hole 을 설치해서 광고제거 DNS 서버를 운영하는것도 괜찮습니다.
- 아래 설치방법은 무거운 FreePBX를 가지고 설정하기에 asterisk만 가지고 구동할 수 있습니다. 원래 기능에는 FreePBX까지 사용할 필요는 없습니다. 제 경우에는 RasPBX에서 FreePBX는 제거하고 asterisk 만 가지고 설정해서 사용합니다.
- 반드시 RasPBX나 라즈베리파이만 사용해야할 필요는 없습니다. chan_mobile을 사용할 수 있고 asterisk 설치구동이 가능한 리눅스 머신이면 어떤 플랫폼에서도 가능합니다.
음질향상 대안
- 백민기님께서 설명한 글에 나오는 3g dongle( https://www.clien.net/service/board/cm_iphonien/14937677CLIEN )은 이 글에서 소개한 블루투스 동글 & 서브회선 휴대폰 을 대체합니다.
- 3g dongle을 사용하면 음질이 나아지지만, 서브회선이 장치에 고정되며, LMS, MMS 문자를 볼 수 없는 단점이 있습니다.
문자수신 방안
- 링크에 있는 강좌를 참고하세요 ( https://www.clien.net/service/board/lecture/14950665CLIEN )
참고사이트
- https://wiki.asterisk.org/wiki/display/AST/Configuring+chan_mobile
- https://jtanx.github.io/2016/02/24/using-asterisk-to-route-calls-through-mobile/
- https://steemit.com/utopian-io/@ety001/use-the-raspberry-pi-to-build-an-asterisk-service-to-receive-calls
- https://www.hardill.me.uk/wordpress/2014/11/03/more-playing-with-asterisk/
- https://www.m4pi.it/2017/12/11/gsm-gateway-raspbx/
- http://www.mattgibson.ca/installing-and-configuring-chan_mobile-for-bluetooth-presence-support-in-asterisk-16/
- http://samyantoun.50webs.com/asterisk/chan_mobile/
- 등등 chan_mobile , raspberry pi gsm gateway 로 검색
설치방법
순번 1~14
https://steemit.com/utopian-io/@ety001/use-the-raspberry-pi-to-build-an-asterisk-service-to-receive-calls
위 주소의 내용 중 Config 3G Dongle 이전까지의 설정을 하며 진행하면 됩니다.
순번 15~25
https://jtanx.github.io/2016/02/24/using-asterisk-to-route-calls-through-mobile/
글에 있는 내용중에 Adding chan_mobile support 내용을 참고해서 라즈베리파이 블루투스 연결을 설명합니다.
순번 26~37
https://steemit.com/utopian-io/@ety001/use-the-raspberry-pi-to-build-an-asterisk-service-to-receive-calls
위 주소의 내용 중 Config 3G Dongle 부분의 설정을 참고하며 진행합니다.
- RasPBX이미지를 다운로드받아서 SD카드에 밀어넣어줍니다. 라즈베리파이 부팅 이미지 SD카드 설치방법은 인터넷을 검색하세요.
- 네트워크 연결이 없는 상태에서 라즈베리파이를 부팅하고, 아이디 root, 패스워드 raspberry 로 로그인한 후 passwd 명령으로 바로 패스워드를 변경합니다. 쉬운 암호를 사용하면 리눅스가 해킹당하니 주의하세요.
- 필요시 raspbx-upgrade 명령을 이용해서 업데이트를 진행합니다. 업데이트에 소요시간이 좀 걸릴 수 있습니다.
- 네트워크 연결을 하고 재부팅을 진행합니다. Wi-fi 연결, 고정IP설정등 은 http://www.raspberry-asterisk.org/faq 를 참고하세요.
- 라즈베리파이의 IP주소를 알아내서 PC 웹브라우져로 접속합니다. 첫 화면은 FreePBX 관리자 등록을 요구하며 희망하는 대로 입력합니다. 쉬운 암호를 사용하면 PBX가 해킹당하니 주의하세요.
- FreePBX Administration 항목을 선택하면 관리자 로그인을 요구하며 로그인합니다.
- 처음 진입시 시간대와 언어를 물어보는데, 언어는 영어밖에 없으니 설정대로 넘어갑니다.
- 위쪽 메뉴 중에 "Applications => Extentions" 를 선택하고 나온 화면에서 "PJSIP Extensions" 탭을 선택합니다.
잘못된 형식의 이미지 링크입니다. - +Add New PJSIP Extenion 버튼을 눌러 나온 화면의 "General"탭에서
"User Extension" 에 인터넷전화앱에서 로그인할 아이디
"Display Name" 에 표시할 이름
"Secret" 에 로그인 암호
"Link to a Default User" 를 "None" 으로 설정하고 오른쪽 아래 "Submit" 버튼을 클릭합니다.
쉬운 암호를 사용하면 asterisk가 해킹당해 추후 모바일폰이 피싱에 사용될 수도 있습니다. 주의하세요.
잘못된 형식의 이미지 링크입니다. - 설정이 완료되면 화면 오른쪽 상단에 있는 빨간색 "Apply Config" 버튼을 클릭합니다. 이는 PBX에서 설정한 내용을 시스템에 실제 적용되도록 합니다.
잘못된 형식의 이미지 링크입니다. - "Settings => Asterisk SIP Settings" 메뉴를 선택합니다.
잘못된 형식의 이미지 링크입니다. - "General SIP Settings"탭에서 "Detect Network Settings" 버튼을 눌러 IP설정을 하고 "RTP Port Range"를 10000 ~ 10100 으로 변경합니다.
만약 라즈베리파이가 공유기 내부 네트웍에 있는 경우, 공유기에서 해당 udp 10000~10100 포트를 라즈베리파이로 포트포워딩해줍니다.
잘못된 형식의 이미지 링크입니다. - "Chan PJSIP Settings" 탭에서 "udp - 0.0.0.0 - All" 을 "No"로 바꾸고 "tcp - 0.0.0.0 - All"을 "Yes"로 바꿔줍니다.
만약 라즈베리파이가 공유기 내부 네트웍에 있는 경우, 공유기에서 해당 tcp 5060 포트를 라즈베리파이로 포트포워딩해줍니다.
완료되면 오른쪽 아래 "Submit" 버튼을 클릭하고 나서 나타나는 화면우측상단 빨간색 "Apply Config" 버튼을 클릭해서 적용해줍니다.
잘못된 형식의 이미지 링크입니다. - 메인폰에 인터넷전화앱을 설치하고 지금까지 설정한 내용을 사용해서 등록을 하면 로그인 되는 것을 확인 할 수 있습니다.
라즈베리파이 IP주소
9번째 순서에서 입력한 아이디와 암호
udp대신 tcp를 지정
잘못된 형식의 이미지 링크입니다.
잘못된 형식의 이미지 링크입니다.
잘못된 형식의 이미지 링크입니다. - 라즈베리파이 터미널(ssh접속가능)에서 bluetoothctl을 입력하고 실행합니다. 이때 사용가능한 블루투스아답터(휴대폰아님) 목록이 나타납니다. 여기서 해당 아답터의 MAC 주소를 확인합니다.
잘못된 형식의 이미지 링크입니다. -
/etc/asterisk/chan_mobile.conf 파일을 만들고 아답터 목록을 추가합니다. 내용은 위에서 확인한 아답터 MAC 주소를 이용해
[adapter]
id=dongle
address=9C:AD:EF:XX:XX:XX
내용을 입력하고 저장합니다. -
명령창에 asterisk -rx "core restart gracefully" 를 실행해서 asterisk를 재구동 합니다.
-
1분정도 지난 후 서브폰의 블루투스 설정메뉴로 들어가 검색가능하도록 둔 후
명령창에서 asterisk -rx "mobile search" 을 입력합니다.
검색에 성공하면 연결가능한 서브폰이 목록에 나타나며 서브폰의 MAC 주소와 포트번호가 표시됩니다.
잘못된 형식의 이미지 링크입니다. -
검색한 서브폰의 정보를 /etc/asterisk/chan_mobile.conf 에 추가합니다.
[SMARTPHONE]
address=7C:F3:1B:XX:XX:XX
port=3
adapter=dongle
context=from-trunk
group=1
잘못된 형식의 이미지 링크입니다. -
명령창에서 bluetoothctl 을 입력하고 구동한 후 다시 서브폰 블루투스 검색가능하게 설정 후
scan on
명령을 내려 서브폰을 찾습니다.
잘못된 형식의 이미지 링크입니다. -
찾은 서브폰에 페어링 하기 위해
pair 7C:F3:1B:XX:XX:XX
입력하고 엔터를 치면 페어링 시도를 합니다.
이때 서브폰 화면에서 장치를 페어링할지 사용자에게 물어보며 허락을 해 주면 완료됩니다.
잘못된 형식의 이미지 링크입니다. -
한번더
trust 7C:F3:1B:XX:XX:XX
명령으로 해당 장치를 신뢰하게 설정합니다.
잘못된 형식의 이미지 링크입니다. -
추가가 완료되면
quit
명령으로 명령창으로 돌아갑니다.
잘못된 형식의 이미지 링크입니다. -
명령창에 asterisk -rx "core restart gracefully" 를 실행해서 asterisk를 재구동 하고 1분정도 기다려 줍니다.
-
명령창에 asterisk -rx "mobile show devices" 를 실행하면 서브폰이 블루투스 페어링됨을 "Connected" 가 "Yes"로 확인할 수 있습니다.
잘못된 형식의 이미지 링크입니다. -
FreePBX의 "Connectivity => Trunks" 메뉴를 선택합니다. 선택 후 "+Add Trunk" => "+Add Custom Trunk" 를 선택합니다.
-
"General" 탭에서
"Trunk Name" 에 적당한 명칭을 적고
"Outbound CallerID" 에 자신의 번호를 기록합니다.
잘못된 형식의 이미지 링크입니다. -
"custom Settings" 탭에서
"Custom Dial String" 에 "Mobile/SMARTPHONE/$OUTNUM$" 을 설정합니다.
잘못된 형식의 이미지 링크입니다. -
설정이 완료되면 화면아래 "Submit"을 클릭하고 Trunk 추가를 마칩니다.
-
Connectivity => Outbound Routes 메뉴를 선택하고 "+Add Outbound Route" 버튼을 클릭합니다.
잘못된 형식의 이미지 링크입니다. -
"Route Setting" 탭에서
"Route Name" 에 적절한 이름을 쓰고
"Trunk Sequence for Matched Routes" 에서 이전에 설정한 Trunk를 선택항목에서 선택해줍니다.
잘못된 형식의 이미지 링크입니다. -
"Dial Patterns" 탭에서
3번째 "match pattern" 에 X. 을 입력해서 아무숫자로 시작하는 번호가 매칭되게 해줍니다. 이를 이용하면 적당히 번호를 거르거나 매핑할 수 있습니다.
잘못된 형식의 이미지 링크입니다. -
설정이 완료되면 화면아래 "Submit"을 클릭하고 Outbound Route 추가를 마칩니다.
잘못된 형식의 이미지 링크입니다. -
"Connectivity => Inbound Routes" 메뉴를 선택하고 "+Add Inbound Route"버튼을 클릭합니다.
-
"General" 탭에서
"Set Destination" 에서 "Extensions" 항목을 선택하면 이전에 설정한 extension이 나타납니다.
잘못된 형식의 이미지 링크입니다. -
설정이 완료되면 화면아래 "Submit"을 클릭하고 Inbound Route 추가를 마칩니다.
-
마지막으로 화면 오른쪽 위 빨간색 "Apply Config" 버튼을 눌러 추가한 설정들의 적용을 합니다.
잘못된 형식의 이미지 링크입니다. -
메인폰의 인터넷전화앱을 이제 접속해서 통화하기를 희망하는 번호를 눌러 서브폰으로 통화가 시도되는지 확인합니다.
-
반대로 다른 전화기를 이용해서 서브폰에 전화해서 메인폰에 서브픈으로 온 전화를 받아봅니다.
긴글 읽어주셔서 감사합니다.
어떤분께는 도움이 되기를 바라면서 글을 마칩니다.
보완할 사항이나 나은 방법이 있다면 알려주시기 바랍니다.
심박스라고하는 제품도 있는데, 자체앱을 사용해야 되고, 단문자는 가능한데, mms, LMS는 안되네요.
http://www.raspberry-asterisk.org/documentation/gsm-voip-gateway-with-chan_dongle/
https://github.com/bg111/asterisk-chan-dongle
에서 chan_dongle 관련 내용을 검색해보시기 바랍니다.
SIMBOX는 예전에 사용기게시판에 푸하핫님( https://www.clien.net/service/board/use/13042753CLIEN )께서 소개했을때 궁금했었는데 아직 LMS는 어떤분들께서 된다고 하고 MMS는 안된다고 하시더군요.
저는 문자수신이나 휴대여부 등의 이유로 본문의 방법을 사용합니다.
감사합니다. 도움이 되었으면 좋겠네요.
페어링 설정은 본문처럼 한번만 하면 됩니다.
쉽게 생각해서 라즈베리파이가 블루투스 이어셋처럼 흉내내서 서브폰에 연결된거라고 생각하면 됩니다.
이어셋 쓸때마다 페어링 설정을 안하는거와 같은 의미입니다.
이후에는 서브폰 블루투스를 라즈베리파이 근처에서 껐다 켰다하는걸로 메인폰으로 받을 수 있게 없게 할수 있는거죠. 물론 메인폰으로 넘겨 받으려면 항상 페어링 해둬야겠지요.
서브폰 벨소리를 켜놓으면 페어링중에도 벨소리는 나니까 집에서 그냥 블투를 끄고 서브폰 전화를 받아도 됩니다.
저는 평소에는 서브폰은 항상 라즈베리파이 근처에 그냥 두고 벨소리는 꺼두니 주로 메인폰으로 넘겨받습니다.
서브폰을 외출시 가져간다면 블루투스는 안꺼도 어차피 라즈베리파이와 페어링이 안되니 서브폰으로 그냥 평소처럼 전화 받으면 됩니다.
보안은 문제가 될 사항이 네트워크로 열려있는 서비스 포트에 공격하는건데요
RasPBX의 경우에는 asterisk 말고도 몇개 서비스가 돌아가서 막아주는게 바람직하긴합니다.
업데이트로 해결이 모두 되는건 아니고 통화를 위한 asterisk 의 경우 설정을 잘 해줘야 합니다.
스팸메일 릴레이서버가 되는거처럼 SIP릴레이 스펨서버가 될 수도 있습니다. 물론 막 잘 뚫린다는건 아닙니다.
본문의 extension 설정시 아이디 패스워드를 쉬운걸로 하면 그렇게 되겠죠. 그리고 FreePBX관리자 아이디 패스워드도 마찬가지입니다.
그래서 방화벽역활을 하는 공유기 뒷단에 두면 되는데요. 이때는 공유기 뒷단을 통해 통화가 잘 되려면 공유기에서 포트포워딩 설정을 잘 해줘야 합니다. 대신 아무래도 직접 라즈베리파이가 공인IP를 받아 돌아가는거 보다는 아주 조금 더 통화 딜레이가 발생할 수 있고, 설정이 잘못되면 한쪽은 목소리가 나고 다른쪽은 안나는 경우도 생깁니다.
음질은 좀전에 테스트 통화를 해서 각 전화기 별로 올려두었으니 다운받아 확인해 보세요.
VoIP 코덱을 품질이 안좋은걸로 해 놓아서(GSM) opus로 바꾸면 좀 더 좋아지지 않을까 싶습니다.
아이폰으로 서브폰을 쓰면 문자원격 송수신은 좀 어려울듯 합니다. ㅎ
순전히 서브폰 통화 송수신용으로는 문제가 없습니다.
제가 잘 몰라서 그런지 모르겠으나 라즈베리파이3b 에 있는 내장블투는 RasPBX에 있는 chan_mobile 모듈과 상생이 좋지 않아서 통화가 잘 되지 않았습니다. 현재는 라즈베리파이 3b에 블투동글 4개 꽂아서 폰 4대를 메인폰에서 송수신할 수 있게 해놓았습니다.
요즘나오는 라즈베리파이 4는 저에게는 없기에 구동상태가 어떨지 모르겠습니다.
덧)) 우와!! 네대나 동시에 된다뇨.......!!ㅎㅎ 엄청났네요, 폰은 어떤 기종 쓰시는걸가요?
그게 설명할게 좀 있는데 쓸수록 옆길로 새서 안적었습니다.
4대 동시에 통화는 아마 안될수도 있습니다. chan_mobile 특성상 통화가 종료하면 리셋되는 시간이 있어서
해당 시간동안 통화가 끊어지던가 그랬던거 같습니다. 해당 옵션은 chan_mobile.conf 샘플 설정파일에 설명이 있습니다. interval 인가 그렇습니다.
그래도 어쨌든 4대 동시에 콜을 대기하면서 있는건 상관이 없습니다. 블루투스 동글을 더 꽂으면 10대도 가능하겠지요.
서브폰들은 그냥 안드로이드 폰들입니다. 넥서스5 이상되는 폰들이면 별 문제는 없었던거 같습니다.
메인폰은 아이폰8+이고 거기에 Acrobits 사의 앱을 사용하고 있습니다.
본문에는 안적었지만 서브폰들을 짱박아두면 충전의 문제가 있는데요.
이걸 1년내내 충전기에 꽂아두면 과충전으로 스웰링 현상이 생깁니다. 제가 1년내내 해봐서 압니다.
넥서스5가 산부가 되었습니다...
그래서 타이머 기능을 이용한 스마트플러그등으로 껐다 켰다 해서 충전시간을 조절해 줘야 합니다.
잘 구축하시길 빌어드립니다.
재밌는글 잘 읽었습니다
감사합니다.
서브폰을 집에두고 메인폰으로 원격통화를 서브폰을 통해 다른 사람과 할 수 있습니다.
메인폰에서 서브폰 전화를 직접 사용하는거라고 생각하시면 됩니다.
착신전환은 아니지만 착신전환처럼 됩니다?
제 머리가 따라주질 않아서 슬프네요...문과는 웁니다
나중에 기회가 되면 FreePBX는 그냥 걷어내고 설정파일 몇개만 고치는 asterisk 만 운용하는 내용을 다뤄보겠습니다. 그게 리눅스 다루기 어려운분은 더 어려울지는 모르겠네요...
아무래도 통화품질을 다소 포기하면 그냥 스마트폰을 쓰면 되는거라서 이점이 생기지 않았나 생각합니다. ㅠ_ㅠ;
잘 설정해서 사용해 보시기 바랍니다. asterisk는 그냥 저렇게만 구성해 쓰기에 아까운 물건이기에.
집에 집전화가 있으면 팩스서버나 FXO를 연동해 집전화도 돌려받고 할 수 있는데 말이에요...
앞으로도 많은 꿀팁 부탁드리며 좋은 정보 감사합니다!!!
걸자마자 곧 영어로 뭐라고하고 끊어버리면 chan_mobile의 context 에 있는 내용이 맞나 확인해보세요
asterisk -rvvvvvv 옵션으로 들어가놓고 전화를 걸면 어떻게 진행되는지 나오니 그걸로 살펴보셔야 할듯합니다.
혹시 전화는 받았는데 목소리가 안나오면 공유기 관련 설정 아니면 RTP포트 범위 설정 문제입니다
아무래도 앱의 영향이 크고 상용전화수준의 음질을 기대하기는 힘듭니다만
제가 올려놓은 샘플 음성보다 훨씬 형편이 없나요? 참고할 음성파일은
메인폰 VoIP앱 녹음파일 : https://anonymousfiles.io/eQ7ScG2V/
의 초반부 녹음파일 이나
상대폰 녹음파일 : https://anonymousfiles.io/uZ6T7yNc/
의 후반부 녹음입니다.
저도 전문가가 아니라서 조언드릴 사항이 없지만 일단
1. 코덱은 바꿔보는데요
https://opus-codec.org/comparison/
에서처럼 적당히 괜찮은 코덱을 바꿔보면서 해본디ㅏ. 저는 opus를 사용중입니다.
참고로 코덱 설정은 아마 일단 asterisk(서버쪽)코덱 희망순서를 따르게 되어 있으니
메인폰쪽 VoIP앱에서 코덱 목록 중 희망하는 코덱을 제외하고 나머지는 모두 제거한 후 강제로 해당 코덱을 사용하게 만들고 품질 확인을 해 보시기 바랍니다.
나중에 희망 코덱 우선순위가 정해지만 FreePBX에 메뉴는 기억이 안나지만 지원코덱 및 우선순위를 서버쪽에서 해줄 수 있는 곳이 있으니 고쳐준 후 적용해주시면 되겠습니다.
좋은 코덱 선텍은 코덱 중간 변환이 최대한 덜 일어나게 해서 변환시 음질열화를 줄이는 것인데 chan_mobile에서 블루투스단에서 어떤 코덱으로 보이스가 오는지 살펴보니 slin8 로되어 이걸 바로 제가쓰는 앱에서는 지원을 못하니 그냥 opus를 씁니다.
2. 그리고 혹시나 모르니 VoIP앱에 에코캔슬링 혹은 VAD, CNG 등을 해제해서 테스트 해보시기 바랍니다.
3. 그리고 블투동글이 상생이 잘 맞는지도 살펴보셔야 하는데 이건 추가 동글이 있어야 하니 적절히 테스트 해보시기 바랍니다.
4. 기본적으로 블투는 무선링크이니 서브폰과 블투모듈이 라디오가 잘 되게 해주셔야겠죠.