드론 파일럿 커뮤니티에 여러분들을 초대합니다.


드론 파일럿 커뮤니티의 모든 자료는 가입없이 보실수 있으며 좋은 자료들을 여러 사람들과 그리고 해외 유저들에게도 제공하고자 가입없이 볼 수 있도록 공개를 하였습니다.


아직 컨텐츠는 많이 부족하지만 앞으로 많은 컨텐츠들로 채워나가 대한민국을 대표하는 커뮤니티로 성장하고자 합니다.


많은 분들이 가입하여 주셔서 좋은 컨텐츠들을 만들어 주셨으면 합니다.


나아가 여러 드론 관련 전산시스템을 구축하여 드론 유저들에게 편의를 제공하고 합법적으로 드론을 비행할수 있도록 노력해볼 예정입니다.


저는 커뮤니티에 예전에 개발했던 드론 제어시스템에 관한 글을 작성하였습니다.


한번 읽어보시고 마음에 드신다면 가입을 부탁드리겠습니다.


감사합니다.



+ 늦게나마 써보는 드론 제어시스템 개발 후기

http://drone.festasquare.com/devlog/186


+ DJI F450 조종신호 분석

http://drone.festasquare.com/devinfo/146


+ 커뮤니티 메인페이지 주소

http://drone.festasquare.com


+ 드론 파일럿 커뮤니티 트위터

http://twitter.com/dronepilotcomm


+ 드론 파일럿 커뮤니티 페이스북

https://www.facebook.com/dronepilotcomm


+ 드론 파일럿 커뮤니티 회원가입 하기

http://drone.festasquare.com/index.php?mid=main&act=dispMemberSignUpForm

문득 제가 블로그에 쓴 드론 관련 글들을 다른 사람에게도 보여주고 싶다는 생각이 들어서 드론 커뮤니티를 만들게 되었습니다.

아마 저는 드론 개발에 관련된 글들을 많이 쓸 것 같습니다.

많은 이용 부탁드립니다

드론 커뮤니티
http://drone.festasquare.com/

제가 쓴 첫 글
http://drone.festasquare.com/devinfo/146


'IT 이야기' 카테고리의 다른 글

TouchInjection C# API 사용중 문제 해결방법  (0) 2015.03.09
[파이썬] 우체국택배 배송정보 가져오는 코드  (0) 2015.02.27
Asterisk 설정  (0) 2014.12.10
CUCM 구매/설치하기  (2) 2014.12.04
Cisco CP-9971 구매  (0) 2014.12.02
Asterisk 설정 IT 이야기 2014. 12. 10. 19:04

Asterisk / Elastix 설정 방법



Asterisk 11 버전

Elastix 3.0 버전

Freepbx 13 버전

기준으로 작성되었습니다


Elastix 3.0 버전 쓰지마세요.. 쓰다가 집어던지고 FreePBX로 넘어왔습니다...


아래 설정은 기본설정 (Organization, Extension, User 등이 셋팅되어 있어야 합니다)


언급하지 않은 셋팅은 기본값으로 두시면 됩니다.



-------------------------------------------------

+ SIP 설정


- Elastix :

PBX - Trunks 에서 [SIP] Create New Trunk 선택 (체크박스를 SIP로 설정)


Descriptive Name 은 알기쉽게 설정 (저는 Main)

Outbound Caller ID 에 SIP 계정의 전화번호 입력

Organization 선택


Peer Settings 탭으로 들어가서

Name 은 알기쉽게 암거나 (저는 Main)

Type = peer

secret = SIP 계정 비밀번호

username = SIP 전화번호

context = from-trunk

disallow = all

allow = ulaw;alaw;gsm

qualify = yes

nat = auto

dtmfmode = rfc2833

insecure = port,invite


(Advanced Settings 를 누름)


fromuser = SIP 전화번호

defaultuser = SIP 전화번호

fromdomain = SIP 서버주소

outboundproxy = SIP 프록시 주소(없으면 입력하지 않아도 됨)


User Settings 탭으로 들어가서

Peer Settings 이랑 똑같이 하되

type = user

로 변경


Registration 탭으로 들어가서

Register String 에 

SIP전화번호:SIP계정비밀번호@SIP서버주소

라고 입력한다


그리고 저장


만약 incoming 전화가 에러가 난다면 

SIP Setting 에서 Local network 가 셋팅되어 있는지 확인해보자



아래는 FreePBX 용 셋팅


CID Option 을 Force Trunk CID 로 셋팅

(이렇게 안하면 송신자가 Call Fail 뜸)


SIP Trunk

PEER Trunk


host=서버주소

username=번호

secret=비번

type=friend

disallow=all

qualify=yes

insecure=port,invite

context=from-trunk

fromuser=번호

defaultuser=번호

authuser=번호

allow=ulaw




위 대로 해서 안된다면 이렇게 해보자 (한국쪽 SIP Provider)


host=서버주소

username=070번호

secret=비밀번호

type=friend

disallow=all

qualify=yes

insecure=port,invite

context=from-trunk

fromdomain=서버주소

outboundproxy=서버주소

callbackextension=070번호

defaultuser=070번호

fromuser=070번호

allow=ulaw


-------------------------------------------------



-------------------------------------------------

전화 자동으로 연결되게 설정하기


PBX - Inbound Routes 에서 

ADD Incomming Route 클릭

Description 에 설명입력

Set Destination 에 연결할 곳을 선택하면 끝


그리고 저장


-------------------------------------------------



-------------------------------------------------

+ SIP 설정 후 Inbound 전화가 연결음만 나고 연결이 안될때


- Asterisk :

/etc/asterisk/sip.conf 에 아래 옵션을 추가한다


externaddr=외부아이피

localnet=내부아이피


- Elastix :

PBX Admin Settings - General Settings Admin - SIP Settings 에서

Nat Support 에서

Type of NAT 을 static 으로 변경


Local Network 를 172.30.1.0 / 255.255.255.0 으로 설정

Extern Addres 에 외부아이피 입력


그리고 저장


그리고


/etc/asterisk/sip_general_custom.conf 에 

bindaddr=0.0.0.0


추가 후 저장


+ Inbound 전화가 Call Fail (비프음이 나고 끊어질 때) 뜰 때 


SIP 설정이 위와 같이 제대로 설정되어 있는지 확인

추가로 다른 설정이 기본값을 벗어났는지 확인


확인된 에러:

- Outbound Caller ID 가 설정되어 있으면 에러남

- Queue 로 전화를 연결한 후 끊으면 그 다음 전화가 Fail 날 때 Queue 의 Destination 을 지정해준다 (예: Terminate Call)

- IVR -> Queue 으로 라우팅 된 후 Queue 에서 대기하고 있을때 Queue 설정이 변경되고 Asterisk 가 reload 되면 일정확률에서 송신자 Call Fail 이 뜬다. Asterisk 를 재시작하거나 Trunk 에서 CID Option 을 다른걸로 변경하고 Apply Config 한 후 다시 원상복귀 하면 정상작동 한다 (버그인듯 하다)

멍청한 짓이였다...

No route to peer for 'Caller ID' from 'IP Address'

라는 에러메세지가 떴는데 이게 요청을 보낸 아이피주소와 요청이 오는 아이피주소가 달라서 그랬던거다.. host에 아이피주소 대신 도메인 주소를 썼기때문..

그래서 SIP Trunk 의 host 를 모두 IP 주소로 변경했더니 잘 동작한다


-------------------------------------------------


SIP Trunk 에서 컬러링(Ring back tone)이 들리지 않고 그냥 기본 통화연결음만 들릴때:

이건 기본적으로 Asterisk 가 통화가 연결될 때 까지 통화연결음을 만들어 내기 때문이다.

외국에는 컬러링 같은 개념이 없나보다..


SIP.conf 에 아래 두개를 추가해주면 된다

(Freepbx - Setttings - Asterisk SIP Settings - 오른쪽 탭 Chan SIP - 맨밑에 Other SIP Setting)

progressinband=yes

prematuremedia=no (확인해보니 이건 안넣어도 되네요)


-------------------------------------------------


+ Asterisk SIP Provider 인증상태 확인

asterisk -rx "sip show registry"


+ Asterisk Log 실시간 확인

tail -f /var/log/asterisk/full 혹은 tail -f /var/log/asterisk/messages


-------------------------------------------------


Cisco CP-9971 과 CP-9951을 Asterisk 에 연결하기

http://linuxmanr4.com/2011/09/05/telefono-cisco-9951-y-elastix/


FreePBX 12 기준 : 


아래 모든 사항은 유저셋팅, Extension 셋팅이 끝나고 나서 해야한다.

Extension 은 CHAN_SIP로 만듭니다.


아래 쪽에 있는 TFTP 설치방법을 참고하여 TFTP 설치

69번 포트 오픈

/tftpboot 폴더에 필요한 파일들을 넣는다


SEP{기기고유ID}.xml

dialplan.xml

Korean_Korea_Republic (언어파일, CME 관련된 페이지에서 받을수 있는듯 하다, 없어도 됨)

RINGLIST.DAT (벨소리리스트, 없어도 됨)


Settings - SIP Setting 에서 외부아이피 다 설정하고

NAT 은 공유기 환경이면 yes 아니면 no

그리고 오른쪽 탭의 SIP Setting 에서 맨 아래 

Other SIP Settings 에 아래 두개를 추가한다

callcounter = yes

tcpenable = yes


Extension 페이지 오른쪽 탭에서 시스코 전화기를 접속시킬 Extension 을 선택하고 

NAT MODE 를 Automatic Force Both로 선택

Port 를 5061 (CHAN_SIP 포트)로

Transport 를 All - TCP Primary 로 선택하고 저장합니다.


(추가 업데이트 예정)


-------------------------------------------------


-------------------------------------------------

TFTP 서버 설치하기


sudo apt-get install xinetd tftpd tftp


vim /etc/xinetd.d/tftp 에 아래 내용 추가


service tftp

{

protocol        = udp

port            = 69

socket_type     = dgram

wait            = yes

user            = nobody

server          = /usr/sbin/in.tftpd

server_args     = /tftpboot

disable         = no

}


sudo mkdir /tftpboot

sudo chmod -R 777 /tftpboot

sudo chown -R nobody /tftpboot


sudo /etc/init.d/xinetd restart


-------------------------------------------------