[asterisk-users] Issue with no change of SIP call ID

cedric.bonnet at orange-ftgroup.com cedric.bonnet at orange-ftgroup.com
Mon Mar 23 05:57:54 CDT 2009




Good afternoon everybody.


I first would like you to excuse me for my english.


I have an issue with a SIP call ID which is not changed in the call configuration described bellow :



I have an Asterisk Server A using only SIP protocol.

Behind A there are 2 distant clients (using softphone X-lite) C1 and C2 and a proxy server OpenSIPS (ex OpenSER) P.

The idea is that when C1 want to call C2, C1 send messages to A which first send messages to P which sends back messages to A before sending them to C2.



Here are the configuration files I set :

------- sip.conf -------

[general]
directrtpsetup=no
canreinvite=no

bindport=5060
bindaddr=192.168.255.40

tcpenable=no 

useragent=OSBC
sdpsession=OSBC
sdpowner=OSBC

register => cedric1:test at 192.168.255.42/cedric1
register => cedric2:test at 192.168.255.42/cedric2


[client](!)
type=friend
host=dynamic
context=outgoing


[proxy]
type=friend
host=192.168.255.42
context=incoming
qualify=yes
allow=all


[cedric1](client)

[cedric2](client)

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

Where 192.168.255.42 is the IP address of P and 192.168.255.40 is the IP address of A

------- entensions.conf -------

[globals]

[general]

[outgoing]
exten => _[a-zA-Z0-9].,1,Verbose(Outgoing ${EXTEN} - ${CALLERID(all)} - ${CALLINGPRES} - ${CHANNEL} - ${CONTEXT} - ${SIPDOMAIN} - ${SIPCALLID}) exten => _[a-zA-Z0-9].,n,Dial(SIP/proxy/${EXTEN})
exten => _[a-zA-Z0-9].,n,Hangup()


[incoming]
exten => _[a-zA-Z0-9].,1,Verbose(Incoming ${EXTEN}) 
exten => _[a-zA-Z0-9].,n,Dial(SIP/${EXTEN},15)
exten => _[a-zA-Z0-9].,n,Hangup()


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



I performed lots of tests and I give you the most important results :

If C2 is registering to P instead of A, calls works in both ways (C1 -> A -> P -> C2 and C2 -> P -> A -> C1)

If C2 is registering to A, here is my problem. I detail you what is exactly performed by A (thanks to tshark and wireshark) :

C1 sends the invite to Asterisk with a call id "cid-1".
A acts as a B2BUA and initiates an other connexion with P : it send an invite to P with a call-ID "cid-2".
P knows that C2 is behind A, so it forwards the invite back to A with "cid-2".

Here is the problem : when A received this invite message, it only forwards the message to C2 with the same call-id "cid2" instead of acts as a B2BUA and change call-id.

As a consequence : C2 answers with a 180 response and "cid-2" to A which answers to C1 (with "cid-1") and never forwards these responses and all other messages to P.
As P doesn't see response messages, it sends invites messages to C2 again and again which rings again and again.


I wish you understood me and could help me to solve this problem. 



Best regards


Cédric.


--
Cédric Bonnet
/FT/RO/DPS/CTR/CPM/VASF
Tel. +33 (0) 1 55 88 36 60
cedric.bonnet at orange-ftgroup.com


*********************************
This message and any attachments (the "message") are confidential and intended solely for the addressees. 
Any unauthorised use or dissemination is prohibited.
Messages are susceptible to alteration. 
France Telecom Group shall not be liable for the message if altered, changed or falsified.
If you are not the intended addressee of this message, please cancel it immediately and inform the sender.
********************************



More information about the asterisk-users mailing list