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:[email protected]/cedric1
register => cedric2:[email protected]/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
[email protected]


*********************************
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.
********************************

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to