Bài này sẽ hướng dẫn cách cấu hình chat giữa 2 sip clients trên Asterisk server. Yêu cầu Asterisk phiên bản từ 11 trở về sau: # Và thêm vào nội dung sau: /usr/local/libcd /usr/src wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar xf iksemel-1.4.tar.gz cd iksemel-1.4 ./configure make make install Mở module res_xmpp trên Asterisk cd /usr/src/asterisk-11.14.1/ ./configure make menuconfig make make install vi /etc/ld.so.conf.d/libiksemel.conf Sau đó gõ lệnh: ldconfig Kiểm tra xem module xmpp đã được load thành công hay chưa: localhost*CLI> module show like res_xmpp.so Module Description Use Count res_xmpp.so Asterisk XMPP Interface 0 1 modules loaded Cấu hình Dialplan trong file extensions.conf: exten => _.,1,NoOp(SMS receiving dialplan invoked) exten => _.,n,NoOp(To ${MESSAGE(to)}) exten => _.,n,NoOp(From ${MESSAGE(from)}) exten => _.,n,NoOp(Body ${MESSAGE(body)}) exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)}) exten => _.,n,MessageSend(${ACTUALTO},${MESSAGE(from)}) exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS}) exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]? sendfailedmsg) exten => _.,n,Hangup() exten => h,1,Hangup() ; ; Handle failed messaging exten => _.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},, %d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.") exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)}) exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)}) exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter) exten => _.,n,Hangup() exten => h,1,Hangup() Nếu sử dụng Xlite, bạn có thể gặp lỗi sau |
Chia sẻ kinh nghiệm >