### Description
When using topos, Kamailio corrupts the Via header in the OK packet sent when responding to an INVITE.
For example, the following is observed in the OK:
Via: SIP/2.0/UDP 1.2.3.4:5065;rport=5065;branch=abc,SIP/2.0/UDP 2.3.4.5:5060;branch=bcd
Expected behaviour is to correctly insert two separate Via headers, as in the original INVITE:
Via: SIP/2.0/UDP 1.2.3.4:5065;rport=5065;branch=abc
Via: SIP/2.0/UDP 2.3.4.5:5060;branch=bcd
### Troubleshooting
When not loading topos.so, OK packet is passed as expected.
#### Reproduction
Place a call with a dialog where multiple Via headers are present with topos.so loaded. Fully reproducible every time.
### Possible Solutions
topos.so should reconstruct the Via header properly by inserting a separate Via header for each comma separated value it stores in the database.
### Additional Information
```
version: kamailio 4.4.5 (x86_64/linux) f98162
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: f98162
compiled on 16:48:08 Jan 18 2017 with gcc 4.4.7
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1005
Module: kamailio
Branch: master
Commit: 70bf0eff8fbce414f2d3ca555d351d26e18f2d56
URL: https://github.com/kamailio/kamailio/commit/70bf0eff8fbce414f2d3ca555d351d2…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2017-03-09T13:01:22+01:00
modules: readme files regenerated - rabbitmq ... [skip ci]
---
Modified: src/modules/rabbitmq/README
---
Diff: https://github.com/kamailio/kamailio/commit/70bf0eff8fbce414f2d3ca555d351d2…
Patch: https://github.com/kamailio/kamailio/commit/70bf0eff8fbce414f2d3ca555d351d2…
---
diff --git a/src/modules/rabbitmq/README b/src/modules/rabbitmq/README
index 30b662d..136f35d 100644
--- a/src/modules/rabbitmq/README
+++ b/src/modules/rabbitmq/README
@@ -75,9 +75,10 @@ Chapter 1. Admin Guide
1. Overview
This module offers amqp communication using librabbitmq. This module
- was created based on rabbitmq-c C client. An new amqp connection is
- setup on a per-children basis, when Kamailio starts. If connection is
- lost, the process tries to re-establish it when a new amqp action is
+ was created using rabbitmq-c C client
+ (https://github.com/alanxz/rabbitmq-c). An new amqp connection is setup
+ on a per-children basis, when Kamailio starts. If connection is lost,
+ the process tries to re-establish it when a new amqp action is
required.
Currently librabbitmq offers no async API, but sync API, with a
@@ -98,7 +99,7 @@ Chapter 1. Admin Guide
The following libraries or applications must be installed before
running Kamailio with this module:
- * librabbitmq-dev.
+ * librabbitmq-dev - (https://github.com/alanxz/rabbitmq-c).
3. Parameters