SIP сервер формирование ответов

157
10 января 2018, 18:03

Есть sip-сервер, написанный на java, он работает, но через раз, проблема в формировании ответных сообщений от сервера. Как я понимаю, то мне приходит сообщение, я его форматирую/не форматирую и отправляю дальше, что не так с формированием сообщений?event - начальное сообщение, что пришло. Forward - это метод INVITE.... подозреваю, что в нем что-то не так

    public String ok_200() {
//Метод для отправки ОК 200 для регистрации
                addHeader("SIP/2.0 200 OK", "", 0);
//Отнимаю единицу от Max-Forwards
                decreseMaxForwards();
                String[] evs = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
               //Переписываю и отправляю
                for (String s : evs) {
                    sb.append(s.trim() + "\r\n");
                }
                return sb.toString();
            }
            public String ok_200_after_Ring() {
                decreseMaxForwards();
                deleteTag("Via", "received");
                String[] evs = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
                for (String s : evs) {
                    sb.append(s.trim() + "\r\n");
                }
                return sb.toString();
            }
            public String ok_200_bye() {
                String[] strings = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
                for (String s : strings) {
                    if (!body(s))
                        sb.append(s + "\r\n");
                }
                return sb.toString();
            }
            public String forward(String servIp, String servPort) {
                addHeader("Via: ", "SIP/2.0/UDP " + servIp + ":" + servPort + ";branch=z9hG4bK2d4790", 1);
                decreseMaxForwards();
                String[] evs = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
                for (String s : evs) {
                    sb.append(s.trim() + "\r\n");
                }
                return sb.toString();
            }
            public String ringing_180() {
                deleteTag("Via", "received");
                decreseMaxForwards();
                String[] evs = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
                for (String s : evs) {
                    if (!body(s))
                        sb.append(s.trim() + "\r\n");
                }
                return sb.toString();
            }
            public String trying_100() {
                deleteTag("Via", "received");
                decreseMaxForwards();
                String[] evs = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
                for (String s : evs) {
                    sb.append(s.trim() + "\r\n");
                }
                return sb.toString();
            }
            public String ACK() {
                decreseMaxForwards();
                String[] evs = event.split("\r\n");
                StringBuilder sb = new StringBuilder();
                for (String s : evs) {
                    sb.append(s.trim() + "\r\n");
                }
                return sb.toString();
            }
READ ALSO
Переход от окна редактирования в окно run IDEintellij-idea

Переход от окна редактирования в окно run IDEintellij-idea

Добрый день, подскажите какими сочетаниями клавиш в intellij-idea можно перейти из окна редактирования в окно run для ввода данных с клавиатурыОбратно...

134
Junit import error при запуске тестов

Junit import error при запуске тестов

Подключил все необходимое,но при запуске теста - еррорКакой-то трабл с подключением Junit

210
Сохранение и загрузка определённой Activity в Android приложении

Сохранение и загрузка определённой Activity в Android приложении

Разрабатываю приложение адаптацию для определённого алгоритмаВ нём будет 6 основных категорий, в которых будут подэтапы

139
Сокет клиент и Сокет Сервер. Андроид

Сокет клиент и Сокет Сервер. Андроид

Только начал изучать сокеты и мучает один вопросВо всех примерах сервер пишут на том же ява

164