Changes in [36:12957c39df3b:37:4fe9562edc7c] in verona
- Files:
-
- 2 deleted
- 4 edited
-
libosip2/src/osipparser2/osip_port.c (modified) (1 diff)
-
phapi/phapi.c (modified) (44 diffs)
-
phapi/phcall.c (deleted)
-
phapi/phconfig.c (deleted)
-
phapi/phmedia-audio.c (modified) (6 diffs)
-
phapi/phmedia-video.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libosip2/src/osipparser2/osip_port.c
r36 r37 22 22 #include <windows.h> 23 23 #endif 24 24 25 25 26 -
phapi/phapi.c
r19 r23 202 202 ph_build_cname(char *buf, int n, struct vline *vl); 203 203 204 static const char *ph_get_event_type_str(int winfo) 204 static const char * 205 ph_get_event_type_str(int winfo) 205 206 { 206 207 // FIXME: 207 208 return winfo ? "presence.winfo" : "presence"; 208 209 } 210 211 static int 212 ph_req_set_body(osip_message_t *msg, const char *body, const char *mime); 213 209 214 210 215 static … … 848 853 } 849 854 850 855 856 857 static int 858 ph_req_set_body(osip_message_t *msg, const char *body, const char *mime) 859 { 860 char clen[10]; 861 862 snprintf(clen, 10, "%i", strlen(body)); 863 if (mime) 864 osip_message_set_content_type(msg, mime); 865 osip_message_set_body(msg, body, strlen(body)); 866 osip_message_set_content_length(msg, clen); 867 868 return 0; 869 } 870 851 871 852 872 int … … 920 940 921 941 eXosip_lock(); 942 #ifdef NEWOSIP 922 943 ret = eXosip_add_customization(reqnames, hdrname, hdrval); 944 #endif 923 945 eXosip_unlock(); 924 946 } … … 1170 1192 1171 1193 1194 1195 1196 1172 1197 MY_DLLEXPORT int 1173 1198 phLineSendMessage2(int vlid, const char *target, const char *uri, … … 1177 1202 struct vline *vl; 1178 1203 char from[512]; 1179 1204 osip_message_t *msg; 1205 1206 1180 1207 vl = ph_valid_vlid(vlid); 1181 1208 if (!vl) { … … 1192 1219 1193 1220 eXosip_lock(); 1194 i = eXosip_message2((char *) target, (char *)uri, 1195 (char*)from, (char *)vl->proxy, (char*) buff, 1196 (char *)mime, (char *)sipcid); 1221 i = eXosip_message_build_request(&msg, "MESSAGE", (char *)uri, 1222 from, vl->proxy); 1223 1224 1225 ph_req_set_body(msg, buff, mime); 1226 osip_message_set_contact(msg, vl->contact); 1227 1228 if (sipcid) 1229 osip_message_set_call_id(msg, sipcid); 1230 1231 i = eXosip_message_send_request(msg); 1232 1197 1233 eXosip_unlock(); 1198 1234 return i; … … 1204 1240 int i; 1205 1241 phcall_t *ca = ph_locate_call_by_cid(cid); 1242 osip_message_t *msg; 1206 1243 1207 1244 if (!ca) … … 1211 1248 eXosip_lock(); 1212 1249 1213 i = eXosip_message_call(ca->did, (char *)mime, (char *)buff); 1250 i = eXosip_call_build_request(ca->did, "MESSAGE", &msg); 1251 ph_req_set_body(msg, buff, mime); 1252 osip_message_set_contact(msg, ph_get_call_contact(ca)); 1253 i = eXosip_call_send_request(ca->did, msg); 1214 1254 1215 1255 eXosip_unlock(); … … 1225 1265 { 1226 1266 int i; 1227 1228 if (!nonempty(from) || !nonempty(uri)) 1267 osip_message_t *msg; 1268 1269 if (!nonempty(from) || !nonempty(uri)) 1229 1270 return -PH_BADARG; 1230 1271 1231 1272 eXosip_lock(); 1232 i = eXosip_message((char *)uri, (char*) from, ph_get_proxy(from), 1233 buff, mime); 1273 i = eXosip_message_build_request(&msg, "MESSAGE", uri, from, ph_get_proxy(from)); 1274 ph_req_set_body(msg, buff, mime); 1275 i = eXosip_message_send_request(msg); 1234 1276 eXosip_unlock(); 1235 1277 return i; … … 1385 1427 1386 1428 eXosip_lock(); 1387 i = eXosip_ publish_build_request(&msg, to, from, ph_get_proxy(from), ph_get_event_type_str(winfo), ph_get_expires_str(), content_type, content);1429 i = eXosip_build_publish(&msg, to, from, ph_get_proxy(from), ph_get_event_type_str(winfo), ph_get_expires_str(), content_type, content); 1388 1430 if (!i) 1389 1431 i = eXosip_publish(msg, to); … … 1476 1518 1477 1519 1478 static int ph_answer_call(int tid, int status, const char *laport, const char *ctct, 1479 const char *lvport, const char *paport, const char *pvport, 1480 const char *audioaddr, const char *videoaddr) 1481 { 1520 static int 1521 ph_answer_call(int tid, int status, const char *laport, const char *ctct, 1522 const char *lvport, const char *paport, const char *pvport, 1523 const char *audioaddr, const char *videoaddr) 1524 { 1525 int i; 1526 osip_message_t *msg = 0; 1527 1528 i = eXosip_call_build_answer(tid, status, &msg); 1529 if (!i) { 1530 #ifdef NEWOSIP 1531 char clen[10]; 1532 int sdplen; 1533 1534 1535 sdplen = strlen(sdpmesg); 1536 snprintf(clen,sizeof(clen),"%i",sdplen); 1537 1538 osip_message_set_body(msg,sdpmesg,sdplen); 1539 osip_message_set_content_type(msg,"application/sdp"); 1540 osip_message_set_content_length(sip,clen); 1541 #endif 1542 if (ctct) 1543 osip_message_set_contact(msg, ctct); 1544 1545 i = eXosip_call_send_answer(tid, status, msg); 1546 } 1547 1548 return i; 1549 1482 1550 } 1483 1551 … … 1517 1585 { 1518 1586 eXosip_lock(); 1519 i = ph_ call_send_answer(ca->tid, 200, 0, 0, 0, 0, 0, 0, 0);1587 i = ph_answer_call(ca->tid, 200, 0, 0, 0, 0, 0, 0, 0); 1520 1588 } 1521 1589 else … … 1606 1674 eXosip_lock(); 1607 1675 1608 i = eXosip_answer_call(ca->did, 200, local_voice_port, ph_get_call_contact(ca),1676 i = ph_answer_call(ca->did, 200, local_voice_port, ph_get_call_contact(ca), 1609 1677 NULL,NULL,NULL, 1610 1678 audioaddr, NULL); … … 1688 1756 1689 1757 eXosip_lock(); 1690 i = eXosip_answer_call(ca->did, 200, local_voice_port, ph_get_call_contact(ca),1758 i = ph_answer_call(ca->did, 200, local_voice_port, ph_get_call_contact(ca), 1691 1759 NULL,NULL,NULL, 1692 1760 ca->remote_sdp_audio_ip, NULL); … … 1997 2065 1998 2066 int 1999 ph_answer_request(int did, int reason, char *ctct)2067 ph_answer_request(int tid, int reason, char *ctct) 2000 2068 { 2001 2069 int i; 2002 2070 2003 2071 eXosip_lock(); 2004 i = eXosip_answer_call(did, reason, 0, ctct, 0, 0, 0, 0, 0);2072 i = ph_answer_call(tid, reason, 0, ctct, 0, 0, 0, 0, 0); 2005 2073 eXosip_unlock(); 2006 2074 … … 2019 2087 return -PH_BADCID; 2020 2088 2021 i = ph_answer_request(ca-> did, reason, ph_get_call_contact(ca));2089 i = ph_answer_request(ca->tid, reason, ph_get_call_contact(ca)); 2022 2090 2023 2091 ph_release_call(ca); … … 2043 2111 return -PH_BADCID; 2044 2112 2045 i = ph_answer_request(ca-> did, reason, uri);2113 i = ph_answer_request(ca->tid, reason, uri); 2046 2114 2047 2115 ph_release_call(ca); … … 2066 2134 return -PH_BADCID; 2067 2135 2068 i = ph_answer_request(ca-> did, 180, ph_get_call_contact(ca));2136 i = ph_answer_request(ca->tid, 180, ph_get_call_contact(ca)); 2069 2137 2070 2138 return i; … … 2108 2176 2109 2177 2110 i = eXosip_ terminate_call(cid, did, ph_get_call_contact(ca));2178 i = eXosip_call_terminate(cid, did); 2111 2179 2112 2180 ph_release_call(ca); … … 2253 2321 osip_free(vl->contact); 2254 2322 2323 #if NEWOSIP 2255 2324 if (translate) 2256 2325 { … … 2260 2329 } 2261 2330 else 2331 #endif 2262 2332 vl->contact = osip_strdup(uri); 2263 2333 return 0; … … 2357 2427 2358 2428 ca->localhold = 1; 2359 2429 #ifdef NEWOSIP 2360 2430 eXosip_lock(); 2361 2431 i = eXosip_on_hold_call(ca->did); 2362 2432 eXosip_unlock(); 2433 #endif 2363 2434 2364 2435 if (!i && ph_call_hasaudio(ca)) … … 2480 2551 char stmp[256]; 2481 2552 char *server; 2482 2553 osip_message_t *msg; 2483 2554 2484 2555 assert(vl); … … 2506 2577 2507 2578 eXosip_lock(); 2508 2509 vl->rid = eXosip_register_init(utmp, server, vl->contact, vl->proxy); 2579 2580 if (vl->rid >= 0) { 2581 ret = eXosip_register_build_register(vl->rid, vl->regTimeout, &msg); 2582 if (ret) 2583 vl->rid = -2; 2584 } else { 2585 2586 vl->rid = eXosip_register_build_initial_register(utmp, vl->proxy, vl->contact, vl->regTimeout, &msg); 2587 2588 } 2510 2589 2511 2590 if (vl->rid >= 0) 2512 2591 { 2513 ret = eXosip_register (vl->rid, vl->regTimeout);2592 ret = eXosip_register_send_register(vl->rid, msg); 2514 2593 2515 2594 if (ret == 0) … … 2534 2613 char *ctt; 2535 2614 int i = -1; 2615 osip_message_t *msg; 2536 2616 2537 2617 if (!ca) … … 2562 2642 2563 2643 eXosip_lock(); 2564 i = eXosip_info_call(ca->did, ctt, buf); 2644 2645 i = eXosip_call_build_info(ca->did, &msg), 2646 ph_req_set_body(msg, buf, ctt); 2647 osip_message_set_contact(msg, ph_get_call_contact(ca)); 2648 i = eXosip_call_send_request(ca->did, msg); 2649 2565 2650 eXosip_unlock(); 2566 2651 … … 2792 2877 else 2793 2878 { 2879 #ifdef NEWOSIP 2794 2880 char contact[512]; 2795 2881 char from[512]; … … 2798 2884 eXosip_guess_contact_uri(from, contact, sizeof(contact), 1); 2799 2885 vl->contact = osip_strdup(contact); 2800 2886 #endif 2887 2801 2888 } 2802 2889 … … 2845 2932 if (vl->regTimeout) 2846 2933 { 2847 2934 osip_message_t *msg; 2935 2848 2936 eXosip_lock(); 2849 eXosip_register(vl->rid, 0); 2937 eXosip_register_build_register(vl->rid, 0, &msg); 2938 eXosip_register_send_register(vl->rid, msg); 2850 2939 vl->regTimeout = 0; 2851 2940 vl->used = VL_DELETING; … … 3692 3781 } 3693 3782 3783 static int 3784 ph_get_call_id(int did, char **cid) 3785 { 3786 char referto[512]; 3787 char *cp, *semi; 3788 int i; 3789 3790 i = eXosip_call_get_referto(did, referto, sizeof(referto)); 3791 if (i) 3792 return -PH_ERROR; 3793 cp = strstr(referto, "Replaces"); 3794 if (!cp) 3795 return -PH_ERROR; 3796 cp += 9; 3797 semi = strchr(cp, ';'); 3798 if (semi) 3799 *semi = 0; 3800 3801 *cid = osip_strdup(cp); 3802 3803 return *cid ? 0 : -PH_NORESOURCES; 3804 } 3805 3806 3807 3808 3809 3810 3694 3811 MY_DLLEXPORT int 3695 3812 phCallGetSipCallID(int cid, char* buf, int bufsize) … … 3707 3824 3708 3825 eXosip_lock(); 3709 i = eXosip_get_call_id(ca->did, &callid);3826 i = ph_get_call_id(ca->did, &callid); 3710 3827 eXosip_unlock(); 3711 3828 … … 3978 4095 { 3979 4096 char statusmsg[128]; 4097 osip_message_t *notify = 0; 4098 int i; 3980 4099 3981 4100 snprintf(statusmsg, sizeof(statusmsg), "SIP/2.0 %d %s", status, msg); … … 3983 4102 eXosip_lock(); 3984 4103 3985 eXosip_transfer_send_notify(did, final ? EXOSIP_SUBCRSTATE_TERMINATED : EXOSIP_SUBCRSTATE_ACTIVE, 3986 statusmsg); 3987 4104 4105 eXosip_call_build_notify(did, final ? EXOSIP_SUBCRSTATE_TERMINATED : EXOSIP_SUBCRSTATE_ACTIVE, ¬ify); 4106 if (i) 4107 goto err; 4108 4109 4110 4111 osip_message_set_body(notify, statusmsg, strlen(statusmsg)); 4112 osip_message_set_content_type(notify, "message/sipfrag"); 4113 4114 i = eXosip_call_send_request(did, notify); 4115 4116 err: 3988 4117 eXosip_unlock(); 4118 if (i && (notify != 0)) 4119 osip_message_free(notify); 4120 3989 4121 3990 4122 } … … 3994 4126 { 3995 4127 int i = 0; 3996 4128 #ifdef NEWOSIP 3997 4129 DBG4_SIP_NEGO("looking for payloads...\n", 0, 0, 0); 3998 4130 DBG4_SIP_NEGO("audio...\n", 0, 0, 0); … … 4016 4148 DBG4_SIP_NEGO("cng: %d", ca->cng, 0, 0); 4017 4149 } 4018 4150 #endif 4019 4151 return i; 4020 4152 } … … 4396 4528 4397 4529 4530 static int 4531 ph_retrieve_remote_sdp_text(int did, char **buf) 4532 { 4533 sdp_message_t *sdp = eXosip_get_remote_sdp(did); 4534 if (!sdp) 4535 return -1; 4536 4537 sdp_message_to_str(sdp, buf); 4538 return 0; 4539 } 4540 4398 4541 void 4399 4542 ph_call_new(eXosip_event_t *je) … … 4407 4550 if (ph_busyFlag) 4408 4551 { 4409 ph_answer_request(je-> did, 486, 0);4552 ph_answer_request(je->tid, 486, 0); 4410 4553 return; 4411 4554 } … … 4414 4557 if (ph_follow_me_addr[0]) 4415 4558 { 4416 ph_answer_request(je-> did, 302, ph_follow_me_addr);4559 ph_answer_request(je->tid, 302, ph_follow_me_addr); 4417 4560 return; 4418 4561 } … … 4423 4566 if (!info.vlid) 4424 4567 { 4425 ph_answer_request(je-> did, 404, 0);4568 ph_answer_request(je->tid, 404, 0); 4426 4569 return; 4427 4570 } … … 4433 4576 if (vl->busy) 4434 4577 { 4435 ph_answer_request(je-> did, 486, vl->contact);4578 ph_answer_request(je->tid, 486, vl->contact); 4436 4579 return; 4437 4580 } … … 4440 4583 if (vl->followme && vl->followme[0]) 4441 4584 { 4442 ph_answer_request(je-> did, 302, vl->followme);4585 ph_answer_request(je->tid, 302, vl->followme); 4443 4586 return; 4444 4587 } … … 4458 4601 info.callinfo = je->call_info; 4459 4602 4460 eXosip_retrieve_remote_sdp_text(je->did, (char **)&info.remoteSdp);4603 ph_retrieve_remote_sdp_text(je->did, (char **)&info.remoteSdp); 4461 4604 4462 4605 phcb->callProgress(ca->cid, &info); … … 4464 4607 else 4465 4608 { 4466 ph_answer_request(je-> did, 500, vl->contact);4467 } 4468 4469 #endif 4609 ph_answer_request(je->tid, 500, vl->contact); 4610 } 4611 #endif 4612 4470 4613 } 4471 4614 … … 5508 5651 } 5509 5652 ans: 5510 ph_answer_request(je-> did, 200, 0);5653 ph_answer_request(je->tid, 200, 0); 5511 5654 5512 5655 } -
phapi/phmedia-audio.c
r6 r23 716 716 if (mp != NULL) 717 717 { 718 rtp_set_payload_ TYPE(mp, stream->cngi.cng_pt);718 rtp_set_payload_type(mp, stream->cngi.cng_pt); 719 719 rtp_session_sendm_with_ts(stream->ms.rtp_session, mp, timestamp); 720 720 } … … 1392 1392 if (silok != stream->cngi.lastsil || wakeup) 1393 1393 { 1394 rtp_session_set_markbit(stream->ms.rtp_session, 1); 1395 rtp_session_send_with_ts(stream->ms.rtp_session, data_out_enc, enclen, stream->ms.txtstamp); 1396 rtp_session_set_markbit(stream->ms.rtp_session, 0); 1394 mblk_t *pkt = rtp_session_create_packet(stream->ms.rtp_session, RTP_FIXED_HEADER_SIZE, 1395 data_out_enc, enclen); 1396 rtp_set_payload_type(pkt, rtp_session_get_send_payload_type(stream->ms.rtp_session)); 1397 rtp_set_markbit(pkt, 1); 1398 rtp_session_sendm_with_ts(stream->ms.rtp_session, pkt, stream->ms.txtstamp); 1399 1397 1400 } 1398 1401 else 1399 1402 { 1400 rtp_session_send_with_ts(stream->ms.rtp_session, data_out_enc, enclen, stream->ms.txtstamp);1403 rtp_session_send_with_ts(stream->ms.rtp_session, data_out_enc, enclen, stream->ms.txtstamp); 1401 1404 } 1402 1405 … … 2514 2517 DBG2_MEDIA_ENGINE("ph_msession_audio_start: rtpsession's qos: %d\n", s->qos); 2515 2518 if(s->qos) 2516 rtp_session_set_ qos(session, s->qos);2519 rtp_session_set_dscp(session, s->qos); 2517 2520 2518 2521 #ifdef USE_HTTP_TUNNEL … … 2556 2559 } 2557 2560 2558 rtp_session_set_profiles(session, sprofile, rprofile); 2561 rtp_session_set_send_profile(session, sprofile); 2562 rtp_session_set_recv_profile(session, rprofile); 2563 2559 2564 rtp_session_set_jitter_compensation(session, sp->jitter); 2560 2565 … … 2565 2570 rtp_session_set_remote_addr(session, sp->remoteaddr,sp->remoteport); 2566 2571 2567 rtp_session_set_payload_types(session, sp->opayloads[0].number, sp->ipayloads[0].number); 2568 rtp_session_set_cng_pt(session, stream->cngi.cng_pt); 2572 rtp_session_set_send_payload_type(session, sp->opayloads[0].number); 2573 rtp_session_set_recv_payload_type(session, sp->ipayloads[0].number); 2574 2575 2569 2576 rtp_session_signal_connect(session, "telephone-event", 2570 2577 (RtpCallback)ph_telephone_event, s); 2578 #ifdef NEWOSIP 2579 rtp_session_set_cng_pt(session, stream->cngi.cng_pt); 2571 2580 rtp_session_signal_connect(session, "cng_packet", 2572 2581 (RtpCallback)ph_on_cng_packet, s); 2573 2582 #endif 2574 2583 2575 2584 sp->flags |= PH_MSTREAM_FLAG_RUNNING; … … 2726 2735 (RtpCallback)ph_on_cng_packet); 2727 2736 2728 ortp_set_ debug_file("oRTP",stdout);2737 ortp_set_log_file(stdout); 2729 2738 // ortp_global_stats_display(); 2730 ortp_session_stats_display(stream->ms.rtp_session);2731 ortp_set_ debug_file("oRTP",NULL);2739 rtp_stats_display(rtp_session_get_stats(stream->ms.rtp_session), "Audio stream stats"); 2740 ortp_set_log_file(NULL); 2732 2741 2733 2742 { -
phapi/phmedia-video.c
r0 r23 1196 1196 1197 1197 1198 ortp_set_ debug_file("oRTP",stdout);1199 ortp_session_stats_display(stream->ms.rtp_session);1200 ortp_set_ debug_file("oRTP",NULL);1198 ortp_set_log_file(stdout); 1199 rtp_stats_display(rtp_session_get_stats(stream->ms.rtp_session), "Video stream stats"); 1200 ortp_set_log_file(NULL); 1201 1201 1202 1202 rtp_session_destroy(stream->ms.rtp_session); … … 1253 1253 ca->ph_video_stream = 0; 1254 1254 1255 ortp_set_ debug_file("oRTP",stdout);1256 ortp_session_stats_display(stream->ms.rtp_session);1257 ortp_set_ debug_file("oRTP",NULL);1255 ortp_set_log(stdout); 1256 rtp_stats_display(rtp_session_get_stats(stream->ms.rtp_session), "Video stream stats"); 1257 ortp_set_log_file(NULL); 1258 1258 1259 1259 rtp_session_destroy(stream->ms.rtp_session);
Note: See TracChangeset
for help on using the changeset viewer.
