전체 글 238

SIP의 구성요소

출처: http://www.nexpert.nethttp://blog.acronym.co.krhttp://blog.naver.com/blow1https://tools.ietf.org/html/rfc3261https://en.wikipedia.org/wiki/Session_Initiation_Protocol 개인 정리용이므로아래의 내용보다는 위의 출처의 글을 보는것이 더 도움이 될 수 있다.아래 모든 그림의 출처는 위키피디아이다. SIP Components UA (User Agent)- UAC + UAS- UAC : 세션 연결할 요청 메시지를 전송하는 클라이언트, 고객님의 요청- UAS : SIP 요청 메시지에 대한 응답 메시지를 생성하는 논리적 구성요소, 서버의 응답- UA는 다른 UA와 직접 연결하거나,..

엔지니어 2017.04.20

SIP의 5가지 기능

출처:http://www.nexpert.nethttp://blog.acronym.co.krhttp://blog.naver.com/blow1https://tools.ietf.org/html/rfc3261 개인 정리용이므로아래의 내용보다는 위의 출처의 글을 보는것이 더 도움이 될 수 있다. SIP는 멀티미디어 통신의 시작과 종료를 위한 5개 요소가 있다.1. 통신한 단말 결정 2. 착신측에서 통화에 참여할지 여부 결정3. 통신에 사용할 미디어와 그 파라메터를 결정4. 착신측이 수락하면 발신, 착신 단말간에 세션 생성5. 세션이 유지된 상태에서 파라매터 변경, 세션 전환, 세션 종료, 부가 서비스 연동기능 지원 SIP supports five facets of establishing and terminatin..

엔지니어 2017.04.20

SIP 소개

출처:http://www.nexpert.net/85http://blog.acronym.co.kr/125http://blog.naver.com/blow1/150003192676https://tools.ietf.org/html/rfc3261 개인 정리용이므로아래의 내용보다는 위의 출처의 글을 보는것이 더 도움이 될 수 있다. SIP(Session Initiation Protocol) 세션 초기화 프로토콜 많은 인터넷과 연결된 어플리케이션들이 생기면서이들 간에 데이터 교환을 위한 세션의 관리가 필요해졌다.음성, 영상, 문자 같은 것에 대한 data를 실시간으로 주고 받을 수 있으니단말간에 뭐든 주고 받을 수 있다고 봐도 되겠다.이런 data를 주고 받기 위해서는 RTP 같은 전송 프로토콜을 사용한다. 이 프로..

엔지니어 2017.04.20

[cut] 명령어 -f 옵션으로 가장 왼쪽에 있는 마지막 필드만 제외하고 가져오기

이전 포스팅에는 가장 마지막에 있는 1개의 필드만 cut을 사용해서 가져오는 방법을 적었었다.쓰다보니 완전히 반대로 마지막 1개 필드만 제외한 나머지 전체 필드가 필요한 상황이 생겼다. PPAAPP_TrafficControl.c@@/main/PPP_X-CHECK_R330/1010312 에서 /1010312를 제외한 나머지 정보를 가져와야 한다. PPAAPP_TrafficControl.c@@/main/PPP_X-CHECK_R330 % echo "PPAAPP_TrafficControl.c@@/main/PPP_X-CHECK_R330/1010312" | rev | cut -d '/' -f2- | rev PPAAPP_TrafficControl.c@@/main/PPP_X-CHECK_R330 사용한 명령어를 아래에 ..

엔지니어 2017.04.07

[cut] 명령어 -f 옵션으로 가장 왼쪽에 있는 마지막 필드 가져오기

전체 경로에서 가장 우측에 있는 파일 명만 가져오고 싶다. 방법을 잘 모르겠다. cut을 사용해서 가져오는 방법이 있었다. % echo "/home/byungwoo/c/src/util/request/request_test.c" | rev | cut -d '/' -f 1 | rev 이하 예제 # '/'로 시작하니까 아무 결과 없음 % echo "/home/byungwoo/c/src/util/request/request_test.c" \ ? | cut -d '/' -f 1 # '1/2/3.. % echo "/home/byungwoo/c/src/util/request/request_test.c" \ ? | cut -d '/' -f 2 home # rev로 뒤집어서 하면 간편함

엔지니어 2017.04.07

대한민국 인구수에 따른 분포도 그리기 (numpy, pandas, matplotlib)

######################################################## 원본: http://highthroughput.org/wp/ (Hyeshik Chang 장혜식님) # 원본참고: http://pinkwink.kr/1005 ####################################################### 2곳의 원본을 참고하여 대한민국 지도에 인구 분포도를 그려주는 코드를 한줄한줄 따라가면서 numpy, pandas, matplotlib에 대한 사용법을 익혀보았다. 필요한 csv 파일과 소스코드는 핑크윙크에 가면 있다. 각 라인별로 주석을 달아두었다. drawKorea 함수만 이해해도 왠만한건 할 수 있을것 같다. #!/usr/bin/env python..

엔지니어 2017.04.06

[문자열 자르기] awk, cut을 이용

기존에 #ifdef로 이력을 남겼던 것을 찾아서 삭제하는 작업을 하고 있다. 해당 파일을 grep으로 찾아서 열어보고 처리해야 하는데 번거롭다. 파일명만 가져다가 한번에 사용하고 싶어서 문자열 자르기를 찾아보았다. 이하 예제는 범용적인 이름으로 다 변경함 1. grep 수행 % grep _UPGRADE_FRAMEWORK_ *.[ch] TEST_Options.c:14:#ifndef _UPGRADE_FRAMEWORK_ TEST_SendResponse.c:14:#ifndef _UPGRADE_FRAMEWORK_ TEST_Session.c:16:#ifndef _UPGRADE_FRAMEWORK_ TEST_Stats.c:1:#ifndef _UPGRADE_FRAMEWORK_ TEST_Stats.c:23:#ifdef _..

엔지니어 2017.04.06

[라즈베리파이3] 블루투스 키보드 자동 연결하기

라즈베리파이3에 USB로 키보드 마우스를 연결해서 사용하다보니 너무 불편하다. 그래서 블루투스 키보드를 사용하기로 했다. 사용하다보니 편리하다. 찾아보니 Ctrl+Alt+T는 기본 터미널을 여는 단축키라서 마우스는 구지 없어도 될것 같다. 그런데 부팅할때마다 블루투스 연결을 새로 해줘야한다. 아.. 불편하다. 역시 불편한건 찾아보면 해결방안이 있다. 1. 현재 연결된 블루투스 키보드의 MAC 주소를 확인한다. pi@byungwoo:~ $ hcitool con Connections: > ACL D0:13:1E:15:XX:YY handle 11 state 1 lm MASTER AUTH ENCRYPT pi@byungwoo:~ $ hcitool name D0:13:1E:15:XX:YY i-rocks Blueto..

엔지니어 2017.04.05

[라즈베리파이3] redis 설치하기

조도 센서로 데이터를 가져오기 시작했다.이제 이 데이터를 모아서 의미있는 처리를 해야겠다. 우선은 redis를 사용해서 마이크로 SDcard 말고 메모리를 사용하도록 해야겠다.redis는 lite 버전을 사용한다. $ sudo pip install redislite $ sudo pip install redis-collections redis 사용을 위해서 redislite 설치하고이를 파이썬의 리스트처럼 사용하기 위해서 redis-collections도 설치해서편리하게 사용하고자 한다. ..

엔지니어 2017.04.05